kwo pushed a commit to branch master. http://git.enlightenment.org/legacy/imlib2.git/commit/?id=cd902be36029435d46ac07dfc8d7d9be78c21df4
commit cd902be36029435d46ac07dfc8d7d9be78c21df4 Author: Kim Woelders <[email protected]> Date: Sat Oct 18 22:25:54 2014 +0200 Don't include Imlib2.h indirectly via image.h. Also avoid using EAPI internally (requiring Imlib2.h). --- src/lib/Imlib2.h | 1 - src/lib/common.h | 2 ++ src/lib/image.c | 7 ++++--- src/lib/image.h | 9 ++++----- src/lib/script.c | 13 +++++++------ src/lib/script.h | 6 +++--- src/modules/filters/filter_bumpmap.c | 1 + src/modules/filters/filter_colormod.c | 1 + src/modules/filters/filter_common.h | 6 +++--- src/modules/filters/filter_test.c | 1 + src/modules/loaders/loader_common.h | 6 +++--- 11 files changed, 29 insertions(+), 24 deletions(-) diff --git a/src/lib/Imlib2.h b/src/lib/Imlib2.h index 9aa5df7..7313966 100644 --- a/src/lib/Imlib2.h +++ b/src/lib/Imlib2.h @@ -95,7 +95,6 @@ enum _imlib_TTF_encoding typedef enum _imlib_operation Imlib_Operation; typedef enum _imlib_load_error Imlib_Load_Error; -typedef enum _imlib_load_error ImlibLoadError; typedef enum _imlib_text_direction Imlib_Text_Direction; typedef enum _imlib_TTF_encoding Imlib_TTF_Encoding; diff --git a/src/lib/common.h b/src/lib/common.h index 4383c05..9cfec47 100644 --- a/src/lib/common.h +++ b/src/lib/common.h @@ -15,8 +15,10 @@ #if defined(__GNUC__) && (__GNUC__ >= 4) #define __hidden __attribute__((visibility("hidden"))) +#define __EXPORT__ __attribute__((visibility("default"))) #else #define __hidden +#define __EXPORT__ #endif #define DATABIG unsigned long long diff --git a/src/lib/image.c b/src/lib/image.c index ef7c33b..9a7c697 100644 --- a/src/lib/image.c +++ b/src/lib/image.c @@ -12,6 +12,7 @@ #include <X11/Xlib.h> #endif +#include "Imlib2.h" #include "file.h" #include "image.h" #include "loaderpath.h" @@ -26,7 +27,7 @@ static int cache_size = 4096 * 1024; /* attach a string key'd data and/or int value to an image that cna be */ /* looked up later by its string key */ -void +__EXPORT__ void __imlib_AttachTag(ImlibImage * im, const char *key, int val, void *data, ImlibDataDestructorFunction destructor) { @@ -52,7 +53,7 @@ __imlib_AttachTag(ImlibImage * im, const char *key, int val, void *data, } /* look up a tage by its key on the image it was attached to */ -ImlibImageTag * +__EXPORT__ ImlibImageTag * __imlib_GetTag(ImlibImage * im, const char *key) { ImlibImageTag *t; @@ -793,7 +794,7 @@ __imlib_LoadAllLoaders(void) free(list); } -ImlibLoader * +__EXPORT__ ImlibLoader * __imlib_FindBestLoaderForFile(const char *file, int for_save) { char *extension, *lower, *rfile; diff --git a/src/lib/image.h b/src/lib/image.h index 0175e94..f528716 100644 --- a/src/lib/image.h +++ b/src/lib/image.h @@ -10,8 +10,6 @@ #endif #endif -#include <Imlib2.h> - typedef struct _imlibimage ImlibImage; #ifdef BUILD_X11 typedef struct _imlibimagepixmap ImlibImagePixmap; @@ -19,6 +17,7 @@ typedef struct _imlibimagepixmap ImlibImagePixmap; typedef struct _imlibborder ImlibBorder; typedef struct _imlibloader ImlibLoader; typedef struct _imlibimagetag ImlibImageTag; +typedef enum _imlib_load_error ImlibLoadError; typedef int (*ImlibProgressFunction)(ImlibImage *im, char percent, int update_x, int update_y, @@ -108,10 +107,10 @@ struct _imlibloader ImlibLoader *next; }; -EAPI void __imlib_AttachTag(ImlibImage *im, const char *key, +void __imlib_AttachTag(ImlibImage *im, const char *key, int val, void *data, ImlibDataDestructorFunction destructor); -EAPI ImlibImageTag *__imlib_GetTag(ImlibImage *im, const char *key); +ImlibImageTag *__imlib_GetTag(ImlibImage *im, const char *key); __hidden ImlibImageTag *__imlib_RemoveTag(ImlibImage *im, const char *key); __hidden void __imlib_FreeTag(ImlibImage *im, ImlibImageTag *t); __hidden void __imlib_FreeAllTags(ImlibImage *im); @@ -147,7 +146,7 @@ __hidden void __imlib_ConsumeLoader(ImlibLoader *l); __hidden void __imlib_RescanLoaders(void); __hidden void __imlib_RemoveAllLoaders(void); __hidden void __imlib_LoadAllLoaders(void); -EAPI ImlibLoader *__imlib_FindBestLoaderForFile(const char *file, int for_save); +ImlibLoader *__imlib_FindBestLoaderForFile(const char *file, int for_save); __hidden ImlibLoader *__imlib_FindBestLoaderForFileFormat(const char *file, char *format, int for_save); __hidden void __imlib_SetImageAlphaFlag(ImlibImage *im, char alpha); __hidden ImlibImage *__imlib_CreateImage(int w, int h, DATA32 *data); diff --git a/src/lib/script.c b/src/lib/script.c index b65912f..08c9751 100644 --- a/src/lib/script.c +++ b/src/lib/script.c @@ -18,6 +18,7 @@ #endif #endif +#include "Imlib2.h" #include "dynamic_filters.h" #include "image.h" #include "script.h" @@ -124,7 +125,7 @@ __imlib_script_add_var(void *ptr) } IFunctionParam * -__imlib_script_parse_parameters(Imlib_Image im, char *parameters) +__imlib_script_parse_parameters(ImlibImage * im, char *parameters) { int i = 0, in_quote = 0, depth = 0, start = 0, value_start = 0; @@ -197,13 +198,13 @@ __imlib_script_parse_parameters(Imlib_Image im, char *parameters) return rootptr; } -Imlib_Image -__imlib_script_parse_function(Imlib_Image im, char *function) +ImlibImage * +__imlib_script_parse_function(ImlibImage * im, char *function) { char *funcname, *funcparams; IFunctionParam *params; ImlibExternalFilter *filter = NULL; - Imlib_Image retval; + ImlibImage *retval; D("(--) ===> Entering __imlib_script_parse_function()"); funcname = @@ -242,8 +243,8 @@ __imlib_script_parse_function(Imlib_Image im, char *function) return retval; } -Imlib_Image -__imlib_script_parse(Imlib_Image im, char *script, va_list param_list) +ImlibImage * +__imlib_script_parse(ImlibImage * im, char *script, va_list param_list) { int i = 0, in_quote = 0, start = 0, depth = 0; int script_len; diff --git a/src/lib/script.h b/src/lib/script.h index 66de203..7b11250 100644 --- a/src/lib/script.h +++ b/src/lib/script.h @@ -60,9 +60,9 @@ typedef struct _imlib_variable struct _imlib_variable *next; } IVariable; -__hidden Imlib_Image __imlib_script_parse( Imlib_Image im, char *script, va_list ); -__hidden IFunctionParam *__imlib_script_parse_parameters( Imlib_Image im, char *parameters ); -__hidden Imlib_Image __imlib_script_parse_function( Imlib_Image im, char *function ); +__hidden ImlibImage *__imlib_script_parse(ImlibImage *im, char *script, va_list); +__hidden IFunctionParam *__imlib_script_parse_parameters(ImlibImage *im, char *parameters); +__hidden ImlibImage *__imlib_script_parse_function(ImlibImage *im, char *function); __hidden void __imlib_script_tidyup(void); __hidden void *__imlib_script_get_next_var(void); __hidden void __imlib_script_add_var( void *ptr ); diff --git a/src/modules/filters/filter_bumpmap.c b/src/modules/filters/filter_bumpmap.c index 8cddc96..3c4c71c 100644 --- a/src/modules/filters/filter_bumpmap.c +++ b/src/modules/filters/filter_bumpmap.c @@ -1,6 +1,7 @@ #include "filter_common.h" #include <string.h> #include <math.h> +#include <Imlib2.h> #include "colormod.h" #include "blend.h" diff --git a/src/modules/filters/filter_colormod.c b/src/modules/filters/filter_colormod.c index e0b2b30..65c7ae8 100644 --- a/src/modules/filters/filter_colormod.c +++ b/src/modules/filters/filter_colormod.c @@ -1,6 +1,7 @@ #include "filter_common.h" #include <string.h> #include <math.h> +#include <Imlib2.h> #define GET_INT(x, ptr) (((ptr)->type == VAR_PTR) ? \ (x) = (*(int *)(ptr)->data) : \ diff --git a/src/modules/filters/filter_common.h b/src/modules/filters/filter_common.h index a43d829..2b03694 100644 --- a/src/modules/filters/filter_common.h +++ b/src/modules/filters/filter_common.h @@ -6,8 +6,8 @@ #include "dynamic_filters.h" #include "image.h" -EAPI void init(struct imlib_filter_info *info); -EAPI void deinit(void); -EAPI void *exec(char *filter, void *im, pIFunctionParam params); +__EXPORT__ void init(struct imlib_filter_info *info); +__EXPORT__ void deinit(void); +__EXPORT__ void *exec(char *filter, void *im, pIFunctionParam params); #endif /* __FILTER_COMMON_H */ diff --git a/src/modules/filters/filter_test.c b/src/modules/filters/filter_test.c index 42d862f..6264c2c 100644 --- a/src/modules/filters/filter_test.c +++ b/src/modules/filters/filter_test.c @@ -1,5 +1,6 @@ #include "filter_common.h" #include <string.h> +#include <Imlib2.h> void init(struct imlib_filter_info *info) diff --git a/src/modules/loaders/loader_common.h b/src/modules/loaders/loader_common.h index 1d8a1a0..ccbacef 100644 --- a/src/modules/loaders/loader_common.h +++ b/src/modules/loaders/loader_common.h @@ -5,10 +5,10 @@ #include "common.h" #include "image.h" -EAPI char load(ImlibImage * im, ImlibProgressFunction progress, +__EXPORT__ char load(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity, char immediate_load); -EAPI char save(ImlibImage * im, ImlibProgressFunction progress, +__EXPORT__ char save(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity); -EAPI void formats(ImlibLoader * l); +__EXPORT__ void formats(ImlibLoader * l); #endif /* __LOADER_COMMON_H */ --
