discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=29f035cef804c186cf49d5e6bc9619d0bddf2ad2
commit 29f035cef804c186cf49d5e6bc9619d0bddf2ad2 Author: Mike Blumenkrantz <[email protected]> Date: Wed Feb 14 21:14:51 2018 -0500 evas: move canvas eolian functions from image.c -> main.c this reveals existing breakage which went unnoticed due to the compiler being unable to do type checks since the generated eolian code was not included --- src/lib/evas/canvas/evas_main.c | 86 +++++++++++++++++++++++++++++++++ src/lib/evas/canvas/evas_object_image.c | 85 -------------------------------- 2 files changed, 86 insertions(+), 85 deletions(-) diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c index e98577a714..03d6d414cf 100644 --- a/src/lib/evas/canvas/evas_main.c +++ b/src/lib/evas/canvas/evas_main.c @@ -975,6 +975,92 @@ _evas_canvas_image_data_regenerate(Eina_List *list) } } + +EOLIAN void +_evas_canvas_image_cache_flush(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e) +{ + evas_canvas_async_block(e); + evas_render_rendering_wait(e); + if (_evas_engine_context(e)) + e->engine.func->image_cache_flush(_evas_engine_context(e)); +} + +EOLIAN void +_evas_canvas_image_cache_reload(Eo *eo_e, Evas_Public_Data *e) +{ + Evas_Layer *layer; + + evas_canvas_async_block(e); + evas_image_cache_flush(eo_e); + EINA_INLIST_FOREACH(e->layers, layer) + { + Evas_Object_Protected_Data *obj; + + layer->walking_objects++; + EINA_INLIST_FOREACH(layer->objects, obj) + { + if (efl_isa(obj->object, MY_CLASS)) + { + _evas_image_unload(obj->object, obj, 1); + evas_object_inform_call_image_unloaded(obj->object); + } + } + layer->walking_objects--; + _evas_layer_flush_removes(layer); + } + evas_image_cache_flush(eo_e); + EINA_INLIST_FOREACH(e->layers, layer) + { + Evas_Object_Protected_Data *obj; + + layer->walking_objects++; + EINA_INLIST_FOREACH(layer->objects, obj) + { + if (efl_isa(obj->object, MY_CLASS)) + { + Evas_Image_Data *o = efl_data_scope_get(obj->object, MY_CLASS); + _evas_image_load(obj->object, obj, o); + o->changed = EINA_TRUE; + evas_object_change(obj->object, obj); + } + } + layer->walking_objects--; + _evas_layer_flush_removes(layer); + } + evas_image_cache_flush(eo_e); +} + +EOLIAN static void +_evas_canvas_image_cache_set(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, int size) +{ + if (size < 0) size = 0; + evas_canvas_async_block(e); + evas_render_rendering_wait(e); + if (_evas_engine_context(e)) + e->engine.func->image_cache_set(_evas_engine_context(e), size); +} + +EOLIAN static int +_evas_canvas_image_cache_get(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e) +{ + if (_evas_engine_context(e)) + return e->engine.func->image_cache_get(_evas_engine_context(e)); + return -1; +} + +EOLIAN static Eina_Bool +_evas_canvas_image_max_size_get(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, Eina_Size2D *max) +{ + int w = 0, h = 0; + + if (max) *max = EINA_SIZE2D(0xffff, 0xffff); + if (!e->engine.func->image_max_size_get) return EINA_FALSE; + if (!max) return EINA_TRUE; + e->engine.func->image_max_size_get(_evas_engine_context(e), &w, &h); + *max = EINA_SIZE2D(w, h); + return EINA_TRUE; +} + /* Legacy deprecated functions */ EAPI void diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index ec5445a8fe..dbdd8cb78e 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -1115,91 +1115,6 @@ _efl_canvas_image_internal_efl_image_content_hint_get(Eo *eo_obj EINA_UNUSED, Ev return o->content_hint; } -EOLIAN void -_evas_canvas_image_cache_flush(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e) -{ - evas_canvas_async_block(e); - evas_render_rendering_wait(e); - if (_evas_engine_context(e)) - e->engine.func->image_cache_flush(_evas_engine_context(e)); -} - -EOLIAN void -_evas_canvas_image_cache_reload(Eo *eo_e, Evas_Public_Data *e) -{ - Evas_Layer *layer; - - evas_canvas_async_block(e); - evas_image_cache_flush(eo_e); - EINA_INLIST_FOREACH(e->layers, layer) - { - Evas_Object_Protected_Data *obj; - - layer->walking_objects++; - EINA_INLIST_FOREACH(layer->objects, obj) - { - if (efl_isa(obj->object, MY_CLASS)) - { - _evas_image_unload(obj->object, obj, 1); - evas_object_inform_call_image_unloaded(obj->object); - } - } - layer->walking_objects--; - _evas_layer_flush_removes(layer); - } - evas_image_cache_flush(eo_e); - EINA_INLIST_FOREACH(e->layers, layer) - { - Evas_Object_Protected_Data *obj; - - layer->walking_objects++; - EINA_INLIST_FOREACH(layer->objects, obj) - { - if (efl_isa(obj->object, MY_CLASS)) - { - Evas_Image_Data *o = efl_data_scope_get(obj->object, MY_CLASS); - _evas_image_load(obj->object, obj, o); - o->changed = EINA_TRUE; - evas_object_change(obj->object, obj); - } - } - layer->walking_objects--; - _evas_layer_flush_removes(layer); - } - evas_image_cache_flush(eo_e); -} - -EOLIAN void -_evas_canvas_image_cache_set(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, int size) -{ - if (size < 0) size = 0; - evas_canvas_async_block(e); - evas_render_rendering_wait(e); - if (_evas_engine_context(e)) - e->engine.func->image_cache_set(_evas_engine_context(e), size); -} - -EOLIAN int -_evas_canvas_image_cache_get(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e) -{ - if (_evas_engine_context(e)) - return e->engine.func->image_cache_get(_evas_engine_context(e)); - return -1; -} - -EOLIAN Eina_Bool -_evas_canvas_image_max_size_get(Eo *eo_e EINA_UNUSED, Evas_Public_Data *e, Eina_Size2D *max) -{ - int w = 0, h = 0; - - if (max) *max = EINA_SIZE2D(0xffff, 0xffff); - if (!e->engine.func->image_max_size_get) return EINA_FALSE; - if (!max) return EINA_TRUE; - e->engine.func->image_max_size_get(_evas_engine_context(e), &w, &h); - *max = EINA_SIZE2D(w, h); - return EINA_TRUE; -} - void _evas_image_unload(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Eina_Bool dirty) { --
