summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorDerek Foreman <derek.foreman.samsung@gmail.com>2018-10-26 20:14:17 +0900
committerHermet Park <hermetpark@gmail.com>2018-10-26 20:15:00 +0900
commite3a2d0be45480f9f43923950e586ff4cd75d1d0a (patch)
treecb6823a014c934800d96cecd8cb1466cd8d17a79 /src/lib
parentbec631aa2cb0f3edb6d277ca33f56691b2e4991f (diff)
evas_object: Refactor pixels get hack
Summary: Refactor this so it can be used by another call site in a later commit. Also, reduce its complexity, as we only need the callback to fire, we don't care about any of the other machinery in _evas_image_pixels_get. Depends on D7188 Reviewers: Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7189
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/evas/canvas/evas_object_image.c13
-rw-r--r--src/lib/evas/include/evas_private.h2
2 files changed, 11 insertions, 4 deletions
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c
index 667b8cb354..b9fb345ed9 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -1427,6 +1427,14 @@ evas_draw_image_map_async_check(Evas_Object_Protected_Data *obj,
1427 } 1427 }
1428} 1428}
1429 1429
1430void
1431evas_object_pixels_get_force(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
1432{
1433 Evas_Image_Data *o = obj->private_data;
1434
1435 o->pixels->func.get_pixels(o->pixels->func.get_pixels_data, eo_obj);
1436}
1437
1430static void * 1438static void *
1431evas_process_dirty_pixels(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas_Image_Data *o, 1439evas_process_dirty_pixels(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas_Image_Data *o,
1432 void *engine, void *output, void *surface, void *pixels) 1440 void *engine, void *output, void *surface, void *pixels)
@@ -1775,14 +1783,11 @@ evas_object_image_render(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, v
1775 1783
1776 if (o->plane) 1784 if (o->plane)
1777 { 1785 {
1778 int imagew, imageh, uvw, uvh;
1779
1780 /* We must call pixels get because enlightenment uses it for internal 1786 /* We must call pixels get because enlightenment uses it for internal
1781 * bookkeeping and won't send frame callbacks to wayland clients if we 1787 * bookkeeping and won't send frame callbacks to wayland clients if we
1782 * don't 1788 * don't
1783 */ 1789 */
1784 _evas_image_pixels_get(eo_obj, obj, engine, output, context, surface, x, y, 1790 evas_object_pixels_get_force(eo_obj, obj);
1785 &imagew, &imageh, &uvw, &uvh, EINA_FALSE, EINA_FALSE);
1786#if 0 1791#if 0
1787 Evas_Native_Surface *ns; 1792 Evas_Native_Surface *ns;
1788 1793
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index 38f6e89f9b..cc927afef0 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -1877,6 +1877,8 @@ Eina_List *_evas_pointer_list_in_rect_get(Evas_Public_Data *edata,
1877 1877
1878void efl_canvas_output_info_get(Evas_Public_Data *e, Efl_Canvas_Output *output); 1878void efl_canvas_output_info_get(Evas_Public_Data *e, Efl_Canvas_Output *output);
1879 1879
1880void evas_object_pixels_get_force(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj);
1881
1880// Gesture Manager 1882// Gesture Manager
1881void _efl_canvas_gesture_manager_filter_event(Eo *gesture_manager, Eo *target, void *event); 1883void _efl_canvas_gesture_manager_filter_event(Eo *gesture_manager, Eo *target, void *event);
1882void _efl_canvas_gesture_manager_callback_del_hook(Eo *gesture_manager, Eo *target, const Efl_Event_Description *type); 1884void _efl_canvas_gesture_manager_callback_del_hook(Eo *gesture_manager, Eo *target, const Efl_Event_Description *type);