ecore_cocoa: Rename EAPI macro to ECORE_COCOA_API in Ecore Cocoa library

Patch from a series of patches to rename EAPI symbols to specific
library DSOs.

EAPI was designed to be able to pass
```__attribute__ ((visibility ("default")))``` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
```__atttribute__((visibility("default")))```.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>
This commit is contained in:
Felipe Magno de Almeida 2020-10-29 09:33:06 -03:00
parent 00246298a0
commit ca50bab09e
6 changed files with 112 additions and 94 deletions

View File

@ -10,20 +10,7 @@
#include <Eina.h>
#ifdef EAPI
# undef EAPI
#endif
#ifdef __GNUC__
# if __GNUC__ >= 4
# define EAPI __attribute__ ((visibility("default")))
# else
# define EAPI
# endif
#else
# define EAPI
#endif
#include <ecore_cocoa_api.h>
#ifdef __cplusplus
extern "C" {
@ -135,24 +122,24 @@ typedef enum
* Event triggered when a Cocoa window receives focus
* @since 1.18
*/
EAPI extern int ECORE_COCOA_EVENT_WINDOW_FOCUSED;
ECORE_COCOA_API int ECORE_COCOA_EVENT_WINDOW_FOCUSED;
/**
* Event triggered when a Cocoa window loses focus
* @since 1.18
*/
EAPI extern int ECORE_COCOA_EVENT_WINDOW_UNFOCUSED;
ECORE_COCOA_API int ECORE_COCOA_EVENT_WINDOW_UNFOCUSED;
/**
* Event triggered when a Cocoa window is resized
* @since 1.18
*/
EAPI extern int ECORE_COCOA_EVENT_WINDOW_RESIZE_REQUEST;
ECORE_COCOA_API int ECORE_COCOA_EVENT_WINDOW_RESIZE_REQUEST;
/** Event triggered when a Cocoa window get destroyed
* @since 1.18
*/
EAPI extern int ECORE_COCOA_EVENT_WINDOW_DESTROY;
ECORE_COCOA_API int ECORE_COCOA_EVENT_WINDOW_DESTROY;
/**
* @struct _Ecore_Cocoa_Event_Window_Resize_Request
@ -205,14 +192,14 @@ struct _Ecore_Cocoa_Event_Window_Destroy
* @return How many times Ecore_Cocoa has been initted
* @since 1.18
*/
EAPI int ecore_cocoa_init(void);
ECORE_COCOA_API int ecore_cocoa_init(void);
/**
* Shuts the Ecore_Cocoa library down
* @return How many times Ecore_Cocoa has been shut down
* @since 1.18
*/
EAPI int ecore_cocoa_shutdown(void);
ECORE_COCOA_API int ecore_cocoa_shutdown(void);
/*============================================================================*
@ -226,7 +213,7 @@ EAPI int ecore_cocoa_shutdown(void);
* @param [out] h The height of the screen
* @since 1.18
*/
EAPI void ecore_cocoa_screen_size_get(Ecore_Cocoa_Screen *screen, int *w, int *h);
ECORE_COCOA_API void ecore_cocoa_screen_size_get(Ecore_Cocoa_Screen *screen, int *w, int *h);
/*============================================================================*
@ -242,7 +229,7 @@ EAPI void ecore_cocoa_screen_size_get(Ecore_Cocoa_Screen *screen, int *w, int *h
* @return A handler on the window. NULL on failure
* @since 1.18
*/
EAPI Ecore_Cocoa_Window *ecore_cocoa_window_new(int x,
ECORE_COCOA_API Ecore_Cocoa_Window *ecore_cocoa_window_new(int x,
int y,
int w,
int h)
@ -254,7 +241,7 @@ EAPI Ecore_Cocoa_Window *ecore_cocoa_window_new(int x,
* @param window The window to be released
* @since 1.18
*/
EAPI void ecore_cocoa_window_free(Ecore_Cocoa_Window *window)
ECORE_COCOA_API void ecore_cocoa_window_free(Ecore_Cocoa_Window *window)
EINA_ARG_NONNULL(1);
/**
@ -264,7 +251,7 @@ EAPI void ecore_cocoa_window_free(Ecore_Cocoa_Window *window)
* @param y The new origin of the window (Y)
* @since 1.18
*/
EAPI void ecore_cocoa_window_move(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_move(Ecore_Cocoa_Window *window,
int x,
int y)
EINA_ARG_NONNULL(1);
@ -276,7 +263,7 @@ EAPI void ecore_cocoa_window_move(Ecore_Cocoa_Window *window,
* @param h The new height of the window
* @since 1.18
*/
EAPI void ecore_cocoa_window_resize(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_resize(Ecore_Cocoa_Window *window,
int w,
int h)
EINA_ARG_NONNULL(1);
@ -293,7 +280,7 @@ EAPI void ecore_cocoa_window_resize(Ecore_Cocoa_Window *window,
* @see ecore_cocoa_window_move()
* @since 1.18
*/
EAPI void ecore_cocoa_window_move_resize(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_move_resize(Ecore_Cocoa_Window *window,
int x,
int y,
int w,
@ -309,7 +296,7 @@ EAPI void ecore_cocoa_window_move_resize(Ecore_Cocoa_Window *window,
* @param h Pointer used to retrieve its height
* @since 1.18
*/
EAPI void ecore_cocoa_window_geometry_get(const Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_geometry_get(const Ecore_Cocoa_Window *window,
int *x,
int *y,
int *w,
@ -323,7 +310,7 @@ EAPI void ecore_cocoa_window_geometry_get(const Ecore_Cocoa_Window *window,
* @param h Pointer used to retrieve its height
* @since 1.18
*/
EAPI void ecore_cocoa_window_size_get(const Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_size_get(const Ecore_Cocoa_Window *window,
int *w,
int *h)
EINA_ARG_NONNULL(1);
@ -335,7 +322,7 @@ EAPI void ecore_cocoa_window_size_get(const Ecore_Cocoa_Window *window,
* @param h The new minimum height of the window
* @since 1.18
*/
EAPI void ecore_cocoa_window_size_min_set(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_size_min_set(Ecore_Cocoa_Window *window,
int w,
int h)
EINA_ARG_NONNULL(1);
@ -347,7 +334,7 @@ EAPI void ecore_cocoa_window_size_min_set(Ecore_Cocoa_Window *window,
* @param h Pointer used to retrieve its minimum height
* @since 1.18
*/
EAPI void ecore_cocoa_window_size_min_get(const Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_size_min_get(const Ecore_Cocoa_Window *window,
int *w,
int *h)
EINA_ARG_NONNULL(1);
@ -359,7 +346,7 @@ EAPI void ecore_cocoa_window_size_min_get(const Ecore_Cocoa_Window *window,
* @param h The new maximum height of the window
* @since 1.18
*/
EAPI void ecore_cocoa_window_size_max_set(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_size_max_set(Ecore_Cocoa_Window *window,
int w,
int h)
EINA_ARG_NONNULL(1);
@ -371,7 +358,7 @@ EAPI void ecore_cocoa_window_size_max_set(Ecore_Cocoa_Window *window,
* @param h Pointer used to retrieve its maximum height
* @since 1.18
*/
EAPI void ecore_cocoa_window_size_max_get(const Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_size_max_get(const Ecore_Cocoa_Window *window,
int *w,
int *h)
EINA_ARG_NONNULL(1);
@ -383,7 +370,7 @@ EAPI void ecore_cocoa_window_size_max_get(const Ecore_Cocoa_Window *window,
* @param h The height size increment
* @since 1.18
*/
EAPI void ecore_cocoa_window_size_step_set(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_size_step_set(Ecore_Cocoa_Window *window,
int w,
int h)
EINA_ARG_NONNULL(1);
@ -395,7 +382,7 @@ EAPI void ecore_cocoa_window_size_step_set(Ecore_Cocoa_Window *window,
* @param h The height size increment
* @since 1.18
*/
EAPI void ecore_cocoa_window_size_step_get(const Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_size_step_get(const Ecore_Cocoa_Window *window,
int *w,
int *h)
EINA_ARG_NONNULL(1);
@ -405,7 +392,7 @@ EAPI void ecore_cocoa_window_size_step_get(const Ecore_Cocoa_Window *window,
* @param window The Cocoa window to be displayed
* @since 1.18
*/
EAPI void ecore_cocoa_window_show(Ecore_Cocoa_Window *window)
ECORE_COCOA_API void ecore_cocoa_window_show(Ecore_Cocoa_Window *window)
EINA_ARG_NONNULL(1);
/**
@ -413,7 +400,7 @@ EAPI void ecore_cocoa_window_show(Ecore_Cocoa_Window *window)
* @param window The Cocoa window to be hid
* @since 1.18
*/
EAPI void ecore_cocoa_window_hide(Ecore_Cocoa_Window *window)
ECORE_COCOA_API void ecore_cocoa_window_hide(Ecore_Cocoa_Window *window)
EINA_ARG_NONNULL(1);
/**
@ -421,7 +408,7 @@ EAPI void ecore_cocoa_window_hide(Ecore_Cocoa_Window *window)
* @param window The Cocoa window to be raised
* @since 1.18
*/
EAPI void ecore_cocoa_window_raise(Ecore_Cocoa_Window *window)
ECORE_COCOA_API void ecore_cocoa_window_raise(Ecore_Cocoa_Window *window)
EINA_ARG_NONNULL(1);
/**
@ -429,7 +416,7 @@ EAPI void ecore_cocoa_window_raise(Ecore_Cocoa_Window *window)
* @param window The Cocoa window to be lowered
* @since 1.18
*/
EAPI void ecore_cocoa_window_lower(Ecore_Cocoa_Window *window)
ECORE_COCOA_API void ecore_cocoa_window_lower(Ecore_Cocoa_Window *window)
EINA_ARG_NONNULL(1);
/**
@ -437,7 +424,7 @@ EAPI void ecore_cocoa_window_lower(Ecore_Cocoa_Window *window)
* @param window The Cocoa window to be activated
* @since 1.18
*/
EAPI void ecore_cocoa_window_activate(Ecore_Cocoa_Window *window)
ECORE_COCOA_API void ecore_cocoa_window_activate(Ecore_Cocoa_Window *window)
EINA_ARG_NONNULL(1);
/**
@ -446,7 +433,7 @@ EAPI void ecore_cocoa_window_activate(Ecore_Cocoa_Window *window)
* @param title The new title of the Cocoa window
* @since 1.18
*/
EAPI void ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window,
const char *title)
EINA_ARG_NONNULL(1);
@ -456,7 +443,7 @@ EAPI void ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window,
* @param on If #EINA_TRUE, will miniaturize the window. Will deminiaturize it if #EINA_FALSE
* @since 1.18
*/
EAPI void ecore_cocoa_window_iconified_set(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_iconified_set(Ecore_Cocoa_Window *window,
Eina_Bool on)
EINA_ARG_NONNULL(1);
@ -466,7 +453,7 @@ EAPI void ecore_cocoa_window_iconified_set(Ecore_Cocoa_Window *window,
* @param on If #EINA_TRUE, will remove borders. Will restore them if #EINA_FALSE
* @since 1.18
*/
EAPI void ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
Eina_Bool on)
EINA_ARG_NONNULL(1);
@ -480,7 +467,7 @@ EAPI void ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
* @param view The NSView to be set as @c window content view
* @since 1.18
*/
EAPI void ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
ECORE_COCOA_API void ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
Ecore_Cocoa_Object *view)
EINA_ARG_NONNULL(1)
EINA_ARG_NONNULL(2);
@ -490,7 +477,7 @@ EAPI void ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
* @return The height of the title bar of Cocoa windows
* @since 1.18
*/
EAPI int ecore_cocoa_titlebar_height_get(void);
ECORE_COCOA_API int ecore_cocoa_titlebar_height_get(void);
/**
* Retrieves the actual NSWindow behind the Ecore_Cocoa wrapper
@ -498,7 +485,7 @@ EAPI int ecore_cocoa_titlebar_height_get(void);
* @return The Cocoa NSWindow manipulated by @c window
* @since 1.18
*/
EAPI Ecore_Cocoa_Object *ecore_cocoa_window_get(const Ecore_Cocoa_Window *window)
ECORE_COCOA_API Ecore_Cocoa_Object *ecore_cocoa_window_get(const Ecore_Cocoa_Window *window)
EINA_ARG_NONNULL(1)
EINA_WARN_UNUSED_RESULT;
@ -509,7 +496,7 @@ EAPI Ecore_Cocoa_Object *ecore_cocoa_window_get(const Ecore_Cocoa_Window *window
* @param c The cursor to be set
* @since 1.18
*/
EAPI void ecore_cocoa_window_cursor_set(Ecore_Cocoa_Window *win,
ECORE_COCOA_API void ecore_cocoa_window_cursor_set(Ecore_Cocoa_Window *win,
Ecore_Cocoa_Cursor c)
EINA_ARG_NONNULL(1);
@ -519,7 +506,7 @@ EAPI void ecore_cocoa_window_cursor_set(Ecore_Cocoa_Window *win,
* @param show Shows the cursor if EINA_TRUE. Hides it if EINA_FALSE
* @since 1.18
*/
EAPI void ecore_cocoa_window_cursor_show(Ecore_Cocoa_Window *win, Eina_Bool show);
ECORE_COCOA_API void ecore_cocoa_window_cursor_show(Ecore_Cocoa_Window *win, Eina_Bool show);
EINA_ARG_NONNULL(1);
/**
@ -531,7 +518,7 @@ EAPI void ecore_cocoa_window_cursor_show(Ecore_Cocoa_Window *win, Eina_Bool show
* @see Ecore_Cocoa_Terminate_Cb
* @since 1.19
*/
EAPI void ecore_cocoa_terminate_cb_set(Ecore_Cocoa_Terminate_Cb cb)
ECORE_COCOA_API void ecore_cocoa_terminate_cb_set(Ecore_Cocoa_Terminate_Cb cb)
EINA_ARG_NONNULL(1);
@ -548,7 +535,7 @@ EAPI void ecore_cocoa_terminate_cb_set(Ecore_Cocoa_Terminate_Cb cb)
* @param mime_type The type of object to set the data
* @return EINA_TRUE on success, EINA_FALSE on failure
*/
EAPI Eina_Bool ecore_cocoa_clipboard_set(const void *data,
ECORE_COCOA_API Eina_Bool ecore_cocoa_clipboard_set(const void *data,
int size,
const char *mime_type);
@ -559,19 +546,19 @@ EAPI Eina_Bool ecore_cocoa_clipboard_set(const void *data,
* @return The data retrieved from the clipboard. NULL on failure
*
*/
EAPI void *ecore_cocoa_clipboard_get(int *size,
ECORE_COCOA_API void *ecore_cocoa_clipboard_get(int *size,
const char *mime_type)
EINA_WARN_UNUSED_RESULT;
/*
* Deletes the contents of the Cocoa clipboard
*/
EAPI void ecore_cocoa_clipboard_clear(void);
ECORE_COCOA_API void ecore_cocoa_clipboard_clear(void);
/*
* Returns true when the clipboard contains data that can be received.
*/
EAPI Eina_Bool ecore_cocoa_clipboard_exists(void);
ECORE_COCOA_API Eina_Bool ecore_cocoa_clipboard_exists(void);
#endif /* EFL_BETA_API_SUPPORT */
@ -579,7 +566,4 @@ EAPI Eina_Bool ecore_cocoa_clipboard_exists(void);
}
#endif
#undef EAPI
#define EAPI
#endif

View File

@ -19,10 +19,10 @@
#include "ecore_cocoa_private.h"
EAPI int ECORE_COCOA_EVENT_WINDOW_UNFOCUSED = 0;
EAPI int ECORE_COCOA_EVENT_WINDOW_FOCUSED = 0;
EAPI int ECORE_COCOA_EVENT_WINDOW_RESIZE_REQUEST = 0;
EAPI int ECORE_COCOA_EVENT_WINDOW_DESTROY = 0;
ECORE_COCOA_API int ECORE_COCOA_EVENT_WINDOW_UNFOCUSED = 0;
ECORE_COCOA_API int ECORE_COCOA_EVENT_WINDOW_FOCUSED = 0;
ECORE_COCOA_API int ECORE_COCOA_EVENT_WINDOW_RESIZE_REQUEST = 0;
ECORE_COCOA_API int ECORE_COCOA_EVENT_WINDOW_DESTROY = 0;
static int _ecore_cocoa_init_count = 0;
@ -30,7 +30,7 @@ static int old_flags;
int _ecore_cocoa_log_domain = -1;
EAPI int
ECORE_COCOA_API int
ecore_cocoa_init(void)
{
if (++_ecore_cocoa_init_count != 1)
@ -76,7 +76,7 @@ ecore_cocoa_init(void)
* being shut down.
* @ingroup Ecore_Cocoa_Library_Group
*/
EAPI int
ECORE_COCOA_API int
ecore_cocoa_shutdown(void)
{
if (--_ecore_cocoa_init_count != 0)
@ -393,7 +393,7 @@ _ecore_cocoa_feed_events(void *anEvent)
return pass;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_screen_size_get(Ecore_Cocoa_Screen *screen EINA_UNUSED, int *w, int *h)
{
NSSize pt = [[[NSScreen screens] objectAtIndex:0] frame].size;
@ -404,7 +404,7 @@ ecore_cocoa_screen_size_get(Ecore_Cocoa_Screen *screen EINA_UNUSED, int *w, int
DBG("Screen size get : %dx%d", (int)pt.width, (int)pt.height);
}
EAPI int
ECORE_COCOA_API int
ecore_cocoa_titlebar_height_get(void)
{
static int height = -1;
@ -421,7 +421,7 @@ ecore_cocoa_titlebar_height_get(void)
return height;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_terminate_cb_set(Ecore_Cocoa_Terminate_Cb cb)
{
EINA_SAFETY_ON_NULL_RETURN(cb);

View File

@ -0,0 +1,34 @@
#ifndef _EFL_ECORE_COCOA_API_H
#define _EFL_ECORE_COCOA_API_H
#ifdef ECORE_COCOA_API
#error ECORE_COCOA_API should not be already defined
#endif
#ifdef _WIN32
# ifndef ECORE_COCOA_STATIC
# ifdef ECORE_COCOA_BUILD
# define ECORE_COCOA_API __declspec(dllexport)
# else
# define ECORE_COCOA_API __declspec(dllimport)
# endif
# else
# define ECORE_COCOA_API
# endif
# define ECORE_COCOA_API_WEAK
#else
# ifdef __GNUC__
# if __GNUC__ >= 4
# define ECORE_COCOA_API __attribute__ ((visibility("default")))
# define ECORE_COCOA_API_WEAK __attribute__ ((weak))
# else
# define ECORE_COCOA_API
# define ECORE_COCOA_API_WEAK
# endif
# else
# define ECORE_COCOA_API
# define ECORE_COCOA_API_WEAK
# endif
#endif
#endif

View File

@ -8,7 +8,7 @@
#include "ecore_cocoa_private.h"
#import "ecore_cocoa_app.h"
EAPI Eina_Bool
ECORE_COCOA_API Eina_Bool
ecore_cocoa_clipboard_set(const void *data,
int size,
const char *raw_mime_type)
@ -46,7 +46,7 @@ ecore_cocoa_clipboard_set(const void *data,
return (ok) ? EINA_TRUE : EINA_FALSE;
}
EAPI Eina_Bool
ECORE_COCOA_API Eina_Bool
ecore_cocoa_clipboard_exists(void)
{
NSDictionary *options;
@ -61,7 +61,7 @@ ecore_cocoa_clipboard_exists(void)
return [pb canReadItemWithDataConformingToTypes: classes];
}
EAPI void *
ECORE_COCOA_API void *
ecore_cocoa_clipboard_get(int *size,
const char *raw_mime_type)
{
@ -158,7 +158,7 @@ fail:
return NULL;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_clipboard_clear(void)
{
[[NSPasteboard generalPasteboard] clearContents];

View File

@ -325,7 +325,7 @@ static NSCursor *_cursors[__ECORE_COCOA_CURSOR_LAST];
@end
EAPI Ecore_Cocoa_Window *
ECORE_COCOA_API Ecore_Cocoa_Window *
ecore_cocoa_window_new(int x,
int y,
int w,
@ -364,7 +364,7 @@ ecore_cocoa_window_new(int x,
return win;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_free(Ecore_Cocoa_Window *window)
{
if (!window)
@ -374,7 +374,7 @@ ecore_cocoa_window_free(Ecore_Cocoa_Window *window)
free(window);
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_size_min_set(Ecore_Cocoa_Window *window,
int w,
int h)
@ -384,7 +384,7 @@ ecore_cocoa_window_size_min_set(Ecore_Cocoa_Window *window,
window->window.contentMinSize = NSMakeSize(w, h);
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_size_min_get(const Ecore_Cocoa_Window *window,
int *w,
int *h)
@ -396,7 +396,7 @@ ecore_cocoa_window_size_min_get(const Ecore_Cocoa_Window *window,
if (h) *h = size.height;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_size_max_set(Ecore_Cocoa_Window *window,
int w,
int h)
@ -406,7 +406,7 @@ ecore_cocoa_window_size_max_set(Ecore_Cocoa_Window *window,
window->window.contentMaxSize = NSMakeSize(w, h);
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_size_max_get(const Ecore_Cocoa_Window *window,
int *w,
int *h)
@ -418,7 +418,7 @@ ecore_cocoa_window_size_max_get(const Ecore_Cocoa_Window *window,
if (h) *h = size.height;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_size_step_set(Ecore_Cocoa_Window *window,
int w,
int h)
@ -428,7 +428,7 @@ ecore_cocoa_window_size_step_set(Ecore_Cocoa_Window *window,
window->window.contentResizeIncrements = NSMakeSize(w, h);
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_size_step_get(const Ecore_Cocoa_Window *window,
int *w,
int *h)
@ -440,7 +440,7 @@ ecore_cocoa_window_size_step_get(const Ecore_Cocoa_Window *window,
if (h) *h = size.height;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_move(Ecore_Cocoa_Window *window,
int x,
int y)
@ -456,7 +456,7 @@ ecore_cocoa_window_move(Ecore_Cocoa_Window *window,
[window->window setFrame:win_frame display:YES];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_resize(Ecore_Cocoa_Window *window,
int w,
int h)
@ -474,7 +474,7 @@ ecore_cocoa_window_resize(Ecore_Cocoa_Window *window,
[win setFrame:win_frame display:YES];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_geometry_get(const Ecore_Cocoa_Window *window,
int *x,
int *y,
@ -490,7 +490,7 @@ ecore_cocoa_window_geometry_get(const Ecore_Cocoa_Window *window,
if (h) *h = frame.size.height;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_size_get(const Ecore_Cocoa_Window *window,
int *w,
int *h)
@ -502,7 +502,7 @@ ecore_cocoa_window_size_get(const Ecore_Cocoa_Window *window,
if (h) *h = size.height;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_move_resize(Ecore_Cocoa_Window *window,
int x,
int y,
@ -523,7 +523,7 @@ ecore_cocoa_window_move_resize(Ecore_Cocoa_Window *window,
[window->window setFrame:win_frame display:YES];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window, const char *title)
{
EINA_SAFETY_ON_NULL_RETURN(window);
@ -532,7 +532,7 @@ ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window, const char *title)
[window->window setTitle:[NSString stringWithUTF8String:title]];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_show(Ecore_Cocoa_Window *window)
{
EINA_SAFETY_ON_NULL_RETURN(window);
@ -542,7 +542,7 @@ ecore_cocoa_window_show(Ecore_Cocoa_Window *window)
[window->window display];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_hide(Ecore_Cocoa_Window *window)
{
EINA_SAFETY_ON_NULL_RETURN(window);
@ -551,28 +551,28 @@ ecore_cocoa_window_hide(Ecore_Cocoa_Window *window)
[window->window orderOut:NSApp];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_raise(Ecore_Cocoa_Window *window)
{
EINA_SAFETY_ON_NULL_RETURN(window);
[window->window orderFront:nil];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_lower(Ecore_Cocoa_Window *window)
{
EINA_SAFETY_ON_NULL_RETURN(window);
[window->window orderBack:nil];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_activate(Ecore_Cocoa_Window *window)
{
EINA_SAFETY_ON_NULL_RETURN(window);
[window->window makeKeyAndOrderFront:nil];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_iconified_set(Ecore_Cocoa_Window *window,
Eina_Bool on)
{
@ -588,7 +588,7 @@ ecore_cocoa_window_iconified_set(Ecore_Cocoa_Window *window,
}
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
Eina_Bool on)
{
@ -603,7 +603,7 @@ ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
}
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
Ecore_Cocoa_Object *view)
{
@ -625,14 +625,14 @@ ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
[area release];
}
EAPI Ecore_Cocoa_Object *
ECORE_COCOA_API Ecore_Cocoa_Object *
ecore_cocoa_window_get(const Ecore_Cocoa_Window *window)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(window, NULL);
return window->window;
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_cursor_set(Ecore_Cocoa_Window *win,
Ecore_Cocoa_Cursor c)
{
@ -645,7 +645,7 @@ ecore_cocoa_window_cursor_set(Ecore_Cocoa_Window *win,
[cursor set];
}
EAPI void
ECORE_COCOA_API void
ecore_cocoa_window_cursor_show(Ecore_Cocoa_Window *win,
Eina_Bool show)
{

View File

@ -33,7 +33,7 @@ evas_include_directories = [
ecore_cocoa_lib = library('ecore_cocoa',
ecore_cocoa_src, pub_eo_file_target,
c_args : package_c_args,
c_args : [package_c_args, '-DECORE_COCOA_BUILD'],
dependencies: ecore_cocoa_deps + ecore_cocoa_pub_deps + ecore_cocoa_ext_deps,
link_args : '-Wl,-U,_evas_textblock_text_markup_to_utf8',
include_directories : config_dir + evas_include_directories,