diff --git a/src/lib/evas/canvas/efl_canvas_image.c b/src/lib/evas/canvas/efl_canvas_image.c index 4021f32fc1..d45efcbf73 100644 --- a/src/lib/evas/canvas/efl_canvas_image.c +++ b/src/lib/evas/canvas/efl_canvas_image.c @@ -68,6 +68,24 @@ _evas_image_file_load(Eo *eo_obj, Evas_Image_Data *o) return EINA_TRUE; } +EOLIAN static Eina_Bool +_efl_canvas_image_efl_file_loaded_get(const Eo *eo_obj, void *_pd EINA_UNUSED) +{ + Evas_Image_Data *o = efl_data_scope_get(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS); + if (!o->skip_head) + return efl_file_loaded_get(efl_super(eo_obj, MY_CLASS)); + return !!o->cur->f; +} + +EOLIAN static const Eina_File * +_efl_canvas_image_efl_file_mmap_get(const Eo *eo_obj, void *_pd EINA_UNUSED) +{ + Evas_Image_Data *o = efl_data_scope_get(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS); + if (!o->skip_head) + return efl_file_mmap_get(efl_super(eo_obj, MY_CLASS)); + return o->cur->f; +} + EOLIAN static Eina_Error _efl_canvas_image_efl_file_load(Eo *eo_obj, void *_pd EINA_UNUSED) { diff --git a/src/lib/evas/canvas/efl_canvas_image.eo b/src/lib/evas/canvas/efl_canvas_image.eo index 72e1894f61..230b84a9bc 100644 --- a/src/lib/evas/canvas/efl_canvas_image.eo +++ b/src/lib/evas/canvas/efl_canvas_image.eo @@ -16,6 +16,8 @@ class @beta Efl.Canvas.Image extends Efl.Canvas.Image_Internal implements Efl.Gfx.Buffer.buffer_size { get; } Efl.Gfx.Buffer.buffer_map; Efl.Gfx.Buffer.buffer_unmap; + Efl.File.loaded { get; } + Efl.File.mmap { get; } Efl.File.load; Efl.File.unload; Efl.Gfx.Frame_Controller.animated { get; } diff --git a/src/lib/evas/canvas/evas_image_eo.c b/src/lib/evas/canvas/evas_image_eo.c index 2d4f39ff39..4eeac15542 100644 --- a/src/lib/evas/canvas/evas_image_eo.c +++ b/src/lib/evas/canvas/evas_image_eo.c @@ -14,6 +14,8 @@ _evas_image_class_initializer(Efl_Class *klass) #endif EFL_OPS_DEFINE(ops, + EFL_OBJECT_OP_FUNC(efl_file_loaded_get, _evas_image_efl_file_loaded_get), + EFL_OBJECT_OP_FUNC(efl_file_mmap_get, _evas_image_efl_file_mmap_get), EFL_OBJECT_OP_FUNC(efl_file_load, _evas_image_efl_file_load), EFL_OBJECT_OP_FUNC(efl_file_unload, _evas_image_efl_file_unload), EVAS_IMAGE_EXTRA_OPS diff --git a/src/lib/evas/canvas/evas_image_legacy.c b/src/lib/evas/canvas/evas_image_legacy.c index 4e66bf2070..2702b31f5e 100644 --- a/src/lib/evas/canvas/evas_image_legacy.c +++ b/src/lib/evas/canvas/evas_image_legacy.c @@ -1281,6 +1281,24 @@ evas_object_image_alpha_mask_set(Evas_Object *eo_obj EINA_UNUSED, Eina_Bool isma EVAS_IMAGE_LEGACY_API(eo_obj); } +EOLIAN static Eina_Bool +_evas_image_efl_file_loaded_get(const Eo *eo_obj, void *_pd EINA_UNUSED) +{ + Evas_Image_Data *o = efl_data_scope_get(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS); + if (!o->skip_head) + return efl_file_loaded_get(efl_super(eo_obj, EVAS_IMAGE_CLASS)); + return !!o->cur->f; +} + +EOLIAN static const Eina_File * +_evas_image_efl_file_mmap_get(const Eo *eo_obj, void *_pd EINA_UNUSED) +{ + Evas_Image_Data *o = efl_data_scope_get(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS); + if (!o->skip_head) + return efl_file_mmap_get(efl_super(eo_obj, EVAS_IMAGE_CLASS)); + return o->cur->f; +} + EOLIAN static Eina_Error _evas_image_efl_file_load(Eo *obj, void *pd EINA_UNUSED) {