summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertise.dev>2020-10-29 09:33:06 -0300
committerFelipe Magno de Almeida <felipe@expertise.dev>2020-12-14 13:22:42 -0300
commitd37234b2a4cdc470afb564cebc47b91e03eca1ec (patch)
treee0c4256699786d432737a53efd8862dce6591b2d
parentcaffa66952eb7ef8f14d3e382136b259a388ba0e (diff)
downloadefl-d37234b2a4cdc470afb564cebc47b91e03eca1ec.tar.gz
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>
-rw-r--r--src/lib/ecore_cocoa/Ecore_Cocoa.h94
-rw-r--r--src/lib/ecore_cocoa/ecore_cocoa.m18
-rw-r--r--src/lib/ecore_cocoa/ecore_cocoa_api.h34
-rw-r--r--src/lib/ecore_cocoa/ecore_cocoa_cnp.m8
-rw-r--r--src/lib/ecore_cocoa/ecore_cocoa_window.m50
-rw-r--r--src/lib/ecore_cocoa/meson.build2
6 files changed, 112 insertions, 94 deletions
diff --git a/src/lib/ecore_cocoa/Ecore_Cocoa.h b/src/lib/ecore_cocoa/Ecore_Cocoa.h
index a545d584d7..dc16783a5c 100644
--- a/src/lib/ecore_cocoa/Ecore_Cocoa.h
+++ b/src/lib/ecore_cocoa/Ecore_Cocoa.h
@@ -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
diff --git a/src/lib/ecore_cocoa/ecore_cocoa.m b/src/lib/ecore_cocoa/ecore_cocoa.m
index 8692b4e34c..84a8112d12 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa.m
@@ -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);
diff --git a/src/lib/ecore_cocoa/ecore_cocoa_api.h b/src/lib/ecore_cocoa/ecore_cocoa_api.h
new file mode 100644
index 0000000000..7b09a3bd73
--- /dev/null
+++ b/src/lib/ecore_cocoa/ecore_cocoa_api.h
@@ -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
diff --git a/src/lib/ecore_cocoa/ecore_cocoa_cnp.m b/src/lib/ecore_cocoa/ecore_cocoa_cnp.m
index fabfc8c5a5..a91e5a380d 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa_cnp.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa_cnp.m
@@ -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];
diff --git a/src/lib/ecore_cocoa/ecore_cocoa_window.m b/src/lib/ecore_cocoa/ecore_cocoa_window.m
index ebd3ddd498..7a397ceb5f 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa_window.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa_window.m
@@ -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)
{
diff --git a/src/lib/ecore_cocoa/meson.build b/src/lib/ecore_cocoa/meson.build
index a44d6a4d58..a53131073c 100644
--- a/src/lib/ecore_cocoa/meson.build
+++ b/src/lib/ecore_cocoa/meson.build
@@ -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,