summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2017-10-19 16:11:30 -0700
committerCedric BAIL <cedric@osg.samsung.com>2017-10-19 16:32:54 -0700
commit8bcd960e7007826263138d626189cc780b4768c8 (patch)
treefc78cfb915d932eb078258be18d58ff75e527f1e /src/lib/evas
parentb55c96fe0479448a9d220a8976d88c1aa0f9f63e (diff)
evas: propagate object data to evas_object_inform_call_restack instead of fetching it again.
Diffstat (limited to 'src/lib/evas')
-rw-r--r--src/lib/evas/canvas/evas_layer.c4
-rw-r--r--src/lib/evas/canvas/evas_object_inform.c3
-rw-r--r--src/lib/evas/canvas/evas_stack.c24
-rw-r--r--src/lib/evas/include/evas_private.h2
4 files changed, 16 insertions, 17 deletions
diff --git a/src/lib/evas/canvas/evas_layer.c b/src/lib/evas/canvas/evas_layer.c
index 5295b30201..0a8dba6545 100644
--- a/src/lib/evas/canvas/evas_layer.c
+++ b/src/lib/evas/canvas/evas_layer.c
@@ -237,7 +237,7 @@ _efl_canvas_object_efl_gfx_stack_layer_set(Eo *eo_obj, Evas_Object_Protected_Dat
237 evas_object_change(eo_obj, obj); 237 evas_object_change(eo_obj, obj);
238 if (obj->clip.clipees) 238 if (obj->clip.clipees)
239 { 239 {
240 evas_object_inform_call_restack(eo_obj); 240 evas_object_inform_call_restack(eo_obj, obj);
241 return; 241 return;
242 } 242 }
243 evas_object_change(eo_obj, obj); 243 evas_object_change(eo_obj, obj);
@@ -258,7 +258,7 @@ _efl_canvas_object_efl_gfx_stack_layer_set(Eo *eo_obj, Evas_Object_Protected_Dat
258 _evas_object_layer_set_child(member, obj, l); 258 _evas_object_layer_set_child(member, obj, l);
259 } 259 }
260 } 260 }
261 evas_object_inform_call_restack(eo_obj); 261 evas_object_inform_call_restack(eo_obj, obj);
262} 262}
263 263
264EAPI short 264EAPI short
diff --git a/src/lib/evas/canvas/evas_object_inform.c b/src/lib/evas/canvas/evas_object_inform.c
index 3daffaaa2c..e458d4f61d 100644
--- a/src/lib/evas/canvas/evas_object_inform.c
+++ b/src/lib/evas/canvas/evas_object_inform.c
@@ -41,9 +41,8 @@ evas_object_inform_call_resize(Evas_Object *eo_obj, Evas_Object_Protected_Data *
41} 41}
42 42
43void 43void
44evas_object_inform_call_restack(Evas_Object *eo_obj) 44evas_object_inform_call_restack(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
45{ 45{
46 Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
47 int event_id = _evas_object_event_new(); 46 int event_id = _evas_object_event_new();
48 47
49 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_RESTACK, NULL, event_id, EFL_GFX_EVENT_RESTACK); 48 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_RESTACK, NULL, event_id, EFL_GFX_EVENT_RESTACK);
diff --git a/src/lib/evas/canvas/evas_stack.c b/src/lib/evas/canvas/evas_stack.c
index 7cd8509208..a42562fbe8 100644
--- a/src/lib/evas/canvas/evas_stack.c
+++ b/src/lib/evas/canvas/evas_stack.c
@@ -51,7 +51,7 @@ _efl_canvas_object_efl_gfx_stack_raise(Eo *eo_obj, Evas_Object_Protected_Data *o
51 51
52 if (!((EINA_INLIST_GET(obj))->next)) 52 if (!((EINA_INLIST_GET(obj))->next))
53 { 53 {
54 evas_object_inform_call_restack(eo_obj); 54 evas_object_inform_call_restack(eo_obj, obj);
55 return; 55 return;
56 } 56 }
57 if (obj->smart.parent) 57 if (obj->smart.parent)
@@ -63,13 +63,13 @@ _efl_canvas_object_efl_gfx_stack_raise(Eo *eo_obj, Evas_Object_Protected_Data *o
63 } 63 }
64 if (obj->clip.clipees) 64 if (obj->clip.clipees)
65 { 65 {
66 evas_object_inform_call_restack(eo_obj); 66 evas_object_inform_call_restack(eo_obj, obj);
67 return; 67 return;
68 } 68 }
69 if (obj->layer) evas_render_invalidate(obj->layer->evas->evas); 69 if (obj->layer) evas_render_invalidate(obj->layer->evas->evas);
70 obj->restack = EINA_TRUE; 70 obj->restack = EINA_TRUE;
71 evas_object_change(eo_obj, obj); 71 evas_object_change(eo_obj, obj);
72 evas_object_inform_call_restack(eo_obj); 72 evas_object_inform_call_restack(eo_obj, obj);
73 if (!obj->layer || obj->layer->evas->is_frozen) return; 73 if (!obj->layer || obj->layer->evas->is_frozen) return;
74 if ((!evas_event_passes_through(eo_obj, obj)) && 74 if ((!evas_event_passes_through(eo_obj, obj)) &&
75 (!evas_event_freezes_through(eo_obj, obj)) && 75 (!evas_event_freezes_through(eo_obj, obj)) &&
@@ -100,7 +100,7 @@ _efl_canvas_object_efl_gfx_stack_lower(Eo *eo_obj, Evas_Object_Protected_Data *o
100 100
101 if (!((EINA_INLIST_GET(obj))->prev)) 101 if (!((EINA_INLIST_GET(obj))->prev))
102 { 102 {
103 evas_object_inform_call_restack(eo_obj); 103 evas_object_inform_call_restack(eo_obj, obj);
104 return; 104 return;
105 } 105 }
106 if (obj->smart.parent) 106 if (obj->smart.parent)
@@ -113,13 +113,13 @@ _efl_canvas_object_efl_gfx_stack_lower(Eo *eo_obj, Evas_Object_Protected_Data *o
113 } 113 }
114 if (obj->clip.clipees) 114 if (obj->clip.clipees)
115 { 115 {
116 evas_object_inform_call_restack(eo_obj); 116 evas_object_inform_call_restack(eo_obj, obj);
117 return; 117 return;
118 } 118 }
119 if (obj->layer) evas_render_invalidate(obj->layer->evas->evas); 119 if (obj->layer) evas_render_invalidate(obj->layer->evas->evas);
120 obj->restack = EINA_TRUE; 120 obj->restack = EINA_TRUE;
121 evas_object_change(eo_obj, obj); 121 evas_object_change(eo_obj, obj);
122 evas_object_inform_call_restack(eo_obj); 122 evas_object_inform_call_restack(eo_obj, obj);
123 if (!obj->layer || obj->layer->evas->is_frozen) return; 123 if (!obj->layer || obj->layer->evas->is_frozen) return;
124 if ((!evas_event_passes_through(eo_obj, obj)) && 124 if ((!evas_event_passes_through(eo_obj, obj)) &&
125 (!evas_event_freezes_through(eo_obj, obj)) && 125 (!evas_event_freezes_through(eo_obj, obj)) &&
@@ -157,7 +157,7 @@ _efl_canvas_object_efl_gfx_stack_stack_above(Eo *eo_obj, Evas_Object_Protected_D
157 Evas_Object_Protected_Data *above = efl_data_scope_get(eo_above, EFL_CANVAS_OBJECT_CLASS); 157 Evas_Object_Protected_Data *above = efl_data_scope_get(eo_above, EFL_CANVAS_OBJECT_CLASS);
158 if ((EINA_INLIST_GET(obj))->prev == EINA_INLIST_GET(above)) 158 if ((EINA_INLIST_GET(obj))->prev == EINA_INLIST_GET(above))
159 { 159 {
160 evas_object_inform_call_restack(eo_obj); 160 evas_object_inform_call_restack(eo_obj, obj);
161 return; 161 return;
162 } 162 }
163 if (obj->smart.parent) 163 if (obj->smart.parent)
@@ -205,13 +205,13 @@ _efl_canvas_object_efl_gfx_stack_stack_above(Eo *eo_obj, Evas_Object_Protected_D
205 } 205 }
206 if (obj->clip.clipees) 206 if (obj->clip.clipees)
207 { 207 {
208 evas_object_inform_call_restack(eo_obj); 208 evas_object_inform_call_restack(eo_obj, obj);
209 return; 209 return;
210 } 210 }
211 if (obj->layer) evas_render_invalidate(obj->layer->evas->evas); 211 if (obj->layer) evas_render_invalidate(obj->layer->evas->evas);
212 obj->restack = EINA_TRUE; 212 obj->restack = EINA_TRUE;
213 evas_object_change(eo_obj, obj); 213 evas_object_change(eo_obj, obj);
214 evas_object_inform_call_restack(eo_obj); 214 evas_object_inform_call_restack(eo_obj, obj);
215 if (!obj->layer || obj->layer->evas->is_frozen) return; 215 if (!obj->layer || obj->layer->evas->is_frozen) return;
216 if ((!evas_event_passes_through(eo_obj, obj)) && 216 if ((!evas_event_passes_through(eo_obj, obj)) &&
217 (!evas_event_freezes_through(eo_obj, obj)) && 217 (!evas_event_freezes_through(eo_obj, obj)) &&
@@ -247,7 +247,7 @@ _efl_canvas_object_efl_gfx_stack_stack_below(Eo *eo_obj, Evas_Object_Protected_D
247 Evas_Object_Protected_Data *below = efl_data_scope_get(eo_below, EFL_CANVAS_OBJECT_CLASS); 247 Evas_Object_Protected_Data *below = efl_data_scope_get(eo_below, EFL_CANVAS_OBJECT_CLASS);
248 if ((EINA_INLIST_GET(obj))->next == EINA_INLIST_GET(below)) 248 if ((EINA_INLIST_GET(obj))->next == EINA_INLIST_GET(below))
249 { 249 {
250 evas_object_inform_call_restack(eo_obj); 250 evas_object_inform_call_restack(eo_obj, obj);
251 return; 251 return;
252 } 252 }
253 if (obj->smart.parent) 253 if (obj->smart.parent)
@@ -295,13 +295,13 @@ _efl_canvas_object_efl_gfx_stack_stack_below(Eo *eo_obj, Evas_Object_Protected_D
295 } 295 }
296 if (obj->clip.clipees) 296 if (obj->clip.clipees)
297 { 297 {
298 evas_object_inform_call_restack(eo_obj); 298 evas_object_inform_call_restack(eo_obj, obj);
299 return; 299 return;
300 } 300 }
301 if (obj->layer) evas_render_invalidate(obj->layer->evas->evas); 301 if (obj->layer) evas_render_invalidate(obj->layer->evas->evas);
302 obj->restack = EINA_TRUE; 302 obj->restack = EINA_TRUE;
303 evas_object_change(eo_obj, obj); 303 evas_object_change(eo_obj, obj);
304 evas_object_inform_call_restack(eo_obj); 304 evas_object_inform_call_restack(eo_obj, obj);
305 if (!obj->layer || obj->layer->evas->is_frozen) return; 305 if (!obj->layer || obj->layer->evas->is_frozen) return;
306 if ((!evas_event_passes_through(eo_obj, obj)) && 306 if ((!evas_event_passes_through(eo_obj, obj)) &&
307 (!evas_event_freezes_through(eo_obj, obj)) && 307 (!evas_event_freezes_through(eo_obj, obj)) &&
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index 049e707b40..07358fcc26 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -1744,7 +1744,7 @@ void evas_object_inform_call_show(Evas_Object *obj, Evas_Object_Protected_Data *
1744void evas_object_inform_call_hide(Evas_Object *obj, Evas_Object_Protected_Data *pd); 1744void evas_object_inform_call_hide(Evas_Object *obj, Evas_Object_Protected_Data *pd);
1745void evas_object_inform_call_move(Evas_Object *obj, Evas_Object_Protected_Data *pd); 1745void evas_object_inform_call_move(Evas_Object *obj, Evas_Object_Protected_Data *pd);
1746void evas_object_inform_call_resize(Evas_Object *obj, Evas_Object_Protected_Data *pd); 1746void evas_object_inform_call_resize(Evas_Object *obj, Evas_Object_Protected_Data *pd);
1747void evas_object_inform_call_restack(Evas_Object *obj); 1747void evas_object_inform_call_restack(Evas_Object *obj, Evas_Object_Protected_Data *pd);
1748void evas_object_inform_call_changed_size_hints(Evas_Object *obj); 1748void evas_object_inform_call_changed_size_hints(Evas_Object *obj);
1749void evas_object_inform_call_image_preloaded(Evas_Object *obj); 1749void evas_object_inform_call_image_preloaded(Evas_Object *obj);
1750void evas_object_inform_call_image_unloaded(Evas_Object *obj); 1750void evas_object_inform_call_image_unloaded(Evas_Object *obj);