path: root/src/lib/evas/include
diff options
authorCedric Bail <>2013-04-25 15:07:11 +0900
committerCedric Bail <>2013-05-06 19:02:04 +0900
commit6f802ab2340b95d9c6422b814bc71e5707ed9353 (patch)
tree39876765b687227356a29259c67c363c6e5f7dc7 /src/lib/evas/include
parentc5b0d28d73d2e5a534d071e9e14b34ec9b4c2726 (diff)
evas: start work on making the loader module a public API.
Goal is to be able to remove all internal Evas call from inside all loader module. To do so we are going to open and hold a reference to the file from outside of the module, read the header, create the image data, load the data, close that reference. Once that done, the next step is to let the file remain open as soon as the filename/key is set and add an API to set an Eina_File directly. This way edje can maintain the same file open as it use for an edje object, keeping things in sync and avoid rendering glitch during update.
Diffstat (limited to 'src/lib/evas/include')
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index ebfda7f4f7..7c68216f9a 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -33,6 +33,8 @@ typedef struct _Evas_Font_Alias Evas_Font_Alias;
33typedef struct _Evas_Font_Description Evas_Font_Description; 33typedef struct _Evas_Font_Description Evas_Font_Description;
34typedef struct _Evas_Data_Node Evas_Data_Node; 34typedef struct _Evas_Data_Node Evas_Data_Node;
35typedef RGBA_Image_Loadopts Evas_Image_Load_Opts; 35typedef RGBA_Image_Loadopts Evas_Image_Load_Opts;
36typedef Image_Entry_Animated Evas_Image_Animated;
37typedef Image_Entry_Property Evas_Image_Property;
36typedef struct _Evas_Func Evas_Func; 38typedef struct _Evas_Func Evas_Func;
37typedef struct _Evas_Image_Load_Func Evas_Image_Load_Func; 39typedef struct _Evas_Image_Load_Func Evas_Image_Load_Func;
38typedef struct _Evas_Image_Save_Func Evas_Image_Save_Func; 40typedef struct _Evas_Image_Save_Func Evas_Image_Save_Func;
@@ -901,7 +903,9 @@ struct _Evas_Func
901struct _Evas_Image_Load_Func 903struct _Evas_Image_Load_Func
902{ 904{
903 Eina_Bool threadable; 905 Eina_Bool threadable;
904 Eina_Bool (*file_head) (Image_Entry *ie, const char *file, const char *key, int *error); 906 Eina_Bool (*file_head) (Eina_File *f, const char *key,
907 Evas_Image_Property *prop, Evas_Image_Load_Opts *opts, Evas_Image_Animated *animated,
908 int *error);
905 Eina_Bool (*file_data) (Image_Entry *ie, const char *file, const char *key, int *error); 909 Eina_Bool (*file_data) (Image_Entry *ie, const char *file, const char *key, int *error);
906 double (*frame_duration) (Image_Entry *ie, const char *file, const int start, const int frame_num); 910 double (*frame_duration) (Image_Entry *ie, const char *file, const int start, const int frame_num);
907 Eina_Bool do_region; 911 Eina_Bool do_region;