summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/evas/canvas')
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c26
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_camera.c16
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_light.c32
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_material.c14
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_mesh.c48
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node.c146
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_object.c16
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_primitive.c6
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_scene.c40
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_texture.c42
-rw-r--r--src/lib/evas/canvas/evas_clip.c12
-rw-r--r--src/lib/evas/canvas/evas_data.c7
-rw-r--r--src/lib/evas/canvas/evas_events.c14
-rw-r--r--src/lib/evas/canvas/evas_filter_mixin.c28
-rw-r--r--src/lib/evas/canvas/evas_focus.c2
-rw-r--r--src/lib/evas/canvas/evas_layer.c4
-rw-r--r--src/lib/evas/canvas/evas_main.c4
-rw-r--r--src/lib/evas/canvas/evas_object_box.c61
-rw-r--r--src/lib/evas/canvas/evas_object_grid.c4
-rw-r--r--src/lib/evas/canvas/evas_object_image.c58
-rw-r--r--src/lib/evas/canvas/evas_object_line.c2
-rw-r--r--src/lib/evas/canvas/evas_object_main.c101
-rw-r--r--src/lib/evas/canvas/evas_object_polygon.c4
-rw-r--r--src/lib/evas/canvas/evas_object_rectangle.c2
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c36
-rw-r--r--src/lib/evas/canvas/evas_object_smart_clipped.c6
-rw-r--r--src/lib/evas/canvas/evas_object_table.c14
-rw-r--r--src/lib/evas/canvas/evas_object_text.c48
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c29
-rw-r--r--src/lib/evas/canvas/evas_object_textgrid.c20
-rw-r--r--src/lib/evas/canvas/evas_object_vg.c8
-rw-r--r--src/lib/evas/canvas/evas_out.c12
-rw-r--r--src/lib/evas/canvas/evas_render.c8
-rw-r--r--src/lib/evas/canvas/evas_stack.c12
-rw-r--r--src/lib/evas/canvas/evas_vg_container.c16
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient.c17
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_linear.c42
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_radial.c50
-rw-r--r--src/lib/evas/canvas/evas_vg_node.c65
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h2
-rw-r--r--src/lib/evas/canvas/evas_vg_root_node.c11
-rw-r--r--src/lib/evas/canvas/evas_vg_shape.c153
-rw-r--r--src/lib/evas/canvas/render2/evas_render2.c6
-rw-r--r--src/lib/evas/canvas/render2/evas_render2_old.c6
44 files changed, 597 insertions, 653 deletions
diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c
index d4d5789..db08309 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -128,8 +128,7 @@ evas_object_event_callback_all_del(Evas_Object *eo_obj)
128 if (!obj->callbacks) return; 128 if (!obj->callbacks) return;
129 EINA_INLIST_FOREACH_SAFE(obj->callbacks, itr, info) 129 EINA_INLIST_FOREACH_SAFE(obj->callbacks, itr, info)
130 { 130 {
131 eo_do(eo_obj, eo_event_callback_del( 131 eo_event_callback_del(eo_obj, _legacy_evas_callback_table[info->type], _eo_evas_object_cb, info);
132 _legacy_evas_callback_table[info->type], _eo_evas_object_cb, info));
133 132
134 obj->callbacks = 133 obj->callbacks =
135 eina_inlist_remove(obj->callbacks, EINA_INLIST_GET(info)); 134 eina_inlist_remove(obj->callbacks, EINA_INLIST_GET(info));
@@ -155,8 +154,7 @@ evas_event_callback_all_del(Evas *eo_e)
155 154
156 EINA_INLIST_FOREACH_SAFE(e->callbacks, itr, info) 155 EINA_INLIST_FOREACH_SAFE(e->callbacks, itr, info)
157 { 156 {
158 eo_do(eo_e, eo_event_callback_del( 157 eo_event_callback_del(eo_e, _legacy_evas_callback_table[info->type], _eo_evas_cb, info);
159 _legacy_evas_callback_table[info->type], _eo_evas_cb, info));
160 158
161 e->callbacks = 159 e->callbacks =
162 eina_inlist_remove(e->callbacks, EINA_INLIST_GET(info)); 160 eina_inlist_remove(e->callbacks, EINA_INLIST_GET(info));
@@ -173,7 +171,7 @@ evas_event_callback_cleanup(Evas *eo_e)
173void 171void
174evas_event_callback_call(Evas *eo_e, Evas_Callback_Type type, void *event_info) 172evas_event_callback_call(Evas *eo_e, Evas_Callback_Type type, void *event_info)
175{ 173{
176 eo_do(eo_e, eo_event_callback_call(_legacy_evas_callback_table[type], event_info)); 174 eo_event_callback_call(eo_e, _legacy_evas_callback_table[type], event_info);
177} 175}
178 176
179void 177void
@@ -239,7 +237,7 @@ evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data
239 break; 237 break;
240 } 238 }
241 239
242 eo_do(eo_obj, eo_event_callback_call(_legacy_evas_callback_table[type], event_info)); 240 eo_event_callback_call(eo_obj, _legacy_evas_callback_table[type], event_info);
243 241
244 if (type == EVAS_CALLBACK_MOUSE_DOWN) 242 if (type == EVAS_CALLBACK_MOUSE_DOWN)
245 { 243 {
@@ -291,7 +289,7 @@ evas_object_event_callback_priority_add(Evas_Object *eo_obj, Evas_Callback_Type
291 cb_info->type = type; 289 cb_info->type = type;
292 290
293 const Eo_Event_Description *desc = _legacy_evas_callback_table[type]; 291 const Eo_Event_Description *desc = _legacy_evas_callback_table[type];
294 eo_do(eo_obj, eo_event_callback_priority_add(desc, priority, _eo_evas_object_cb, cb_info)); 292 eo_event_callback_priority_add(eo_obj, desc, priority, _eo_evas_object_cb, cb_info);
295 293
296 obj->callbacks = 294 obj->callbacks =
297 eina_inlist_append(obj->callbacks, EINA_INLIST_GET(cb_info)); 295 eina_inlist_append(obj->callbacks, EINA_INLIST_GET(cb_info));
@@ -317,8 +315,7 @@ evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type type, Eva
317 if ((info->func == func) && (info->type == type)) 315 if ((info->func == func) && (info->type == type))
318 { 316 {
319 void *tmp = info->data; 317 void *tmp = info->data;
320 eo_do(eo_obj, eo_event_callback_del( 318 eo_event_callback_del(eo_obj, _legacy_evas_callback_table[type], _eo_evas_object_cb, info);
321 _legacy_evas_callback_table[type], _eo_evas_object_cb, info));
322 319
323 obj->callbacks = 320 obj->callbacks =
324 eina_inlist_remove(obj->callbacks, EINA_INLIST_GET(info)); 321 eina_inlist_remove(obj->callbacks, EINA_INLIST_GET(info));
@@ -349,8 +346,7 @@ evas_object_event_callback_del_full(Evas_Object *eo_obj, Evas_Callback_Type type
349 if ((info->func == func) && (info->type == type) && info->data == data) 346 if ((info->func == func) && (info->type == type) && info->data == data)
350 { 347 {
351 void *tmp = info->data; 348 void *tmp = info->data;
352 eo_do(eo_obj, eo_event_callback_del( 349 eo_event_callback_del(eo_obj, _legacy_evas_callback_table[type], _eo_evas_object_cb, info);
353 _legacy_evas_callback_table[type], _eo_evas_object_cb, info));
354 350
355 obj->callbacks = 351 obj->callbacks =
356 eina_inlist_remove(obj->callbacks, EINA_INLIST_GET(info)); 352 eina_inlist_remove(obj->callbacks, EINA_INLIST_GET(info));
@@ -385,7 +381,7 @@ evas_event_callback_priority_add(Evas *eo_e, Evas_Callback_Type type, Evas_Callb
385 cb_info->type = type; 381 cb_info->type = type;
386 382
387 const Eo_Event_Description *desc = _legacy_evas_callback_table[type]; 383 const Eo_Event_Description *desc = _legacy_evas_callback_table[type];
388 eo_do(eo_e, eo_event_callback_priority_add(desc, priority, _eo_evas_cb, cb_info)); 384 eo_event_callback_priority_add(eo_e, desc, priority, _eo_evas_cb, cb_info);
389 385
390 e->callbacks = eina_inlist_append(e->callbacks, EINA_INLIST_GET(cb_info)); 386 e->callbacks = eina_inlist_append(e->callbacks, EINA_INLIST_GET(cb_info));
391} 387}
@@ -410,8 +406,7 @@ evas_event_callback_del(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func)
410 if ((info->func == func) && (info->type == type)) 406 if ((info->func == func) && (info->type == type))
411 { 407 {
412 void *tmp = info->data; 408 void *tmp = info->data;
413 eo_do(eo_e, eo_event_callback_del( 409 eo_event_callback_del(eo_e, _legacy_evas_callback_table[type], _eo_evas_cb, info);
414 _legacy_evas_callback_table[type], _eo_evas_cb, info));
415 410
416 e->callbacks = 411 e->callbacks =
417 eina_inlist_remove(e->callbacks, EINA_INLIST_GET(info)); 412 eina_inlist_remove(e->callbacks, EINA_INLIST_GET(info));
@@ -442,8 +437,7 @@ evas_event_callback_del_full(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb
442 if ((info->func == func) && (info->type == type) && (info->data == data)) 437 if ((info->func == func) && (info->type == type) && (info->data == data))
443 { 438 {
444 void *tmp = info->data; 439 void *tmp = info->data;
445 eo_do(eo_e, eo_event_callback_del( 440 eo_event_callback_del(eo_e, _legacy_evas_callback_table[type], _eo_evas_cb, info);
446 _legacy_evas_callback_table[type], _eo_evas_cb, info));
447 441
448 e->callbacks = 442 e->callbacks =
449 eina_inlist_remove(e->callbacks, EINA_INLIST_GET(info)); 443 eina_inlist_remove(e->callbacks, EINA_INLIST_GET(info));
diff --git a/src/lib/evas/canvas/evas_canvas3d_camera.c b/src/lib/evas/canvas/evas_canvas3d_camera.c
index c8ed312..d631df6 100644
--- a/src/lib/evas/canvas/evas_canvas3d_camera.c
+++ b/src/lib/evas/canvas/evas_canvas3d_camera.c
@@ -8,7 +8,7 @@ _camera_node_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *key,
8 void *data EINA_UNUSED, void *fdata) 8 void *data EINA_UNUSED, void *fdata)
9{ 9{
10 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key; 10 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key;
11 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_CAMERA, (Evas_Canvas3D_Object *)fdata)); 11 evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_CAMERA, (Evas_Canvas3D_Object *)fdata);
12 return EINA_TRUE; 12 return EINA_TRUE;
13} 13}
14 14
@@ -66,8 +66,8 @@ EOLIAN static Eo *
66_evas_canvas3d_camera_eo_base_constructor(Eo *obj, 66_evas_canvas3d_camera_eo_base_constructor(Eo *obj,
67 Evas_Canvas3D_Camera_Data *pd EINA_UNUSED) 67 Evas_Canvas3D_Camera_Data *pd EINA_UNUSED)
68{ 68{
69 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 69 obj = eo_constructor(eo_super(obj, MY_CLASS));
70 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_CAMERA)); 70 evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_CAMERA);
71 71
72 return obj; 72 return obj;
73} 73}
@@ -92,7 +92,7 @@ _evas_canvas3d_camera_eo_base_destructor(Eo *obj,
92 eina_hash_free(pd->nodes); 92 eina_hash_free(pd->nodes);
93 } 93 }
94 94
95 eo_do_super(obj, MY_CLASS, eo_destructor()); 95 eo_destructor(eo_super(obj, MY_CLASS));
96} 96}
97 97
98EAPI Evas_Canvas3D_Camera * 98EAPI Evas_Canvas3D_Camera *
@@ -110,7 +110,7 @@ _evas_canvas3d_camera_projection_matrix_set(Eo *obj, Evas_Canvas3D_Camera_Data *
110 const Evas_Real *matrix) 110 const Evas_Real *matrix)
111{ 111{
112 eina_matrix4_array_set(&pd->projection, matrix); 112 eina_matrix4_array_set(&pd->projection, matrix);
113 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL)); 113 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL);
114} 114}
115 115
116EOLIAN static void 116EOLIAN static void
@@ -133,7 +133,7 @@ _evas_canvas3d_camera_projection_perspective_set(Eo *obj, Evas_Canvas3D_Camera_D
133 xmax = ymax * aspect; 133 xmax = ymax * aspect;
134 134
135 evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar); 135 evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar);
136 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL)); 136 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL);
137} 137}
138 138
139EOLIAN static void 139EOLIAN static void
@@ -143,7 +143,7 @@ _evas_canvas3d_camera_projection_frustum_set(Eo *obj, Evas_Canvas3D_Camera_Data
143 Evas_Real dnear, Evas_Real dfar) 143 Evas_Real dnear, Evas_Real dfar)
144{ 144{
145 evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar); 145 evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar);
146 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL)); 146 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL);
147} 147}
148 148
149EOLIAN static void 149EOLIAN static void
@@ -153,7 +153,7 @@ _evas_canvas3d_camera_projection_ortho_set(Eo *obj, Evas_Canvas3D_Camera_Data *p
153 Evas_Real dnear, Evas_Real dfar) 153 Evas_Real dnear, Evas_Real dfar)
154{ 154{
155 eina_matrix4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar); 155 eina_matrix4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar);
156 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL)); 156 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL);
157} 157}
158 158
159EOLIAN static Eina_Bool 159EOLIAN static Eina_Bool
diff --git a/src/lib/evas/canvas/evas_canvas3d_light.c b/src/lib/evas/canvas/evas_canvas3d_light.c
index 2d7facd..11e9c81 100644
--- a/src/lib/evas/canvas/evas_canvas3d_light.c
+++ b/src/lib/evas/canvas/evas_canvas3d_light.c
@@ -8,7 +8,7 @@ _light_node_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *key,
8 void *data EINA_UNUSED, void *fdata) 8 void *data EINA_UNUSED, void *fdata)
9{ 9{
10 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key; 10 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key;
11 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_LIGHT, (Evas_Canvas3D_Object *)fdata)); 11 evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_LIGHT, (Evas_Canvas3D_Object *)fdata);
12 return EINA_TRUE; 12 return EINA_TRUE;
13} 13}
14 14
@@ -79,8 +79,8 @@ evas_canvas3d_light_add(Evas *e)
79EOLIAN static Eo * 79EOLIAN static Eo *
80_evas_canvas3d_light_eo_base_constructor(Eo *obj, Evas_Canvas3D_Light_Data *pd) 80_evas_canvas3d_light_eo_base_constructor(Eo *obj, Evas_Canvas3D_Light_Data *pd)
81{ 81{
82 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 82 obj = eo_constructor(eo_super(obj, MY_CLASS));
83 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_LIGHT)); 83 evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_LIGHT);
84 evas_color_set(&pd->ambient, 0.0, 0.0, 0.0, 1.0); 84 evas_color_set(&pd->ambient, 0.0, 0.0, 0.0, 1.0);
85 evas_color_set(&pd->diffuse, 1.0, 1.0, 1.0, 1.0); 85 evas_color_set(&pd->diffuse, 1.0, 1.0, 1.0, 1.0);
86 evas_color_set(&pd->specular, 1.0, 1.0, 1.0, 1.0); 86 evas_color_set(&pd->specular, 1.0, 1.0, 1.0, 1.0);
@@ -115,7 +115,7 @@ _evas_canvas3d_light_eo_base_destructor(Eo *obj, Evas_Canvas3D_Light_Data *pd)
115 eina_hash_free(pd->nodes); 115 eina_hash_free(pd->nodes);
116 } 116 }
117 117
118 eo_do_super(obj, MY_CLASS, eo_destructor()); 118 eo_destructor(eo_super(obj, MY_CLASS));
119} 119}
120 120
121 121
@@ -125,7 +125,7 @@ _evas_canvas3d_light_directional_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Eina
125 if (pd->directional != directional) 125 if (pd->directional != directional)
126 { 126 {
127 pd->directional = directional; 127 pd->directional = directional;
128 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_ANY, NULL)); 128 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_ANY, NULL);
129 } 129 }
130} 130}
131 131
@@ -143,7 +143,7 @@ _evas_canvas3d_light_ambient_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Rea
143 pd->ambient.b = b; 143 pd->ambient.b = b;
144 pd->ambient.a = a; 144 pd->ambient.a = a;
145 145
146 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_AMBIENT, NULL)); 146 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_AMBIENT, NULL);
147} 147}
148 148
149EOLIAN static void 149EOLIAN static void
@@ -163,7 +163,7 @@ _evas_canvas3d_light_diffuse_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Rea
163 pd->diffuse.b = b; 163 pd->diffuse.b = b;
164 pd->diffuse.a = a; 164 pd->diffuse.a = a;
165 165
166 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_DIFFUSE, NULL)); 166 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_DIFFUSE, NULL);
167} 167}
168 168
169EOLIAN static void 169EOLIAN static void
@@ -183,7 +183,7 @@ _evas_canvas3d_light_specular_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Re
183 pd->specular.b = b; 183 pd->specular.b = b;
184 pd->specular.a = a; 184 pd->specular.a = a;
185 185
186 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_SPECULAR, NULL)); 186 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_SPECULAR, NULL);
187} 187}
188 188
189EOLIAN static void 189EOLIAN static void
@@ -199,7 +199,7 @@ EOLIAN static void
199_evas_canvas3d_light_spot_exponent_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Real exponent) 199_evas_canvas3d_light_spot_exponent_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Real exponent)
200{ 200{
201 pd->spot_exp = exponent; 201 pd->spot_exp = exponent;
202 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_SPOT_EXP, NULL)); 202 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_SPOT_EXP, NULL);
203} 203}
204 204
205EOLIAN static Evas_Real 205EOLIAN static Evas_Real
@@ -213,7 +213,7 @@ _evas_canvas3d_light_spot_cutoff_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas
213{ 213{
214 pd->spot_cutoff = cutoff; 214 pd->spot_cutoff = cutoff;
215 pd->spot_cutoff_cos = cos(cutoff * M_PI / 180.0); 215 pd->spot_cutoff_cos = cos(cutoff * M_PI / 180.0);
216 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_SPOT_CUTOFF, NULL)); 216 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_SPOT_CUTOFF, NULL);
217} 217}
218 218
219EOLIAN static Evas_Real 219EOLIAN static Evas_Real
@@ -228,7 +228,7 @@ _evas_canvas3d_light_attenuation_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas
228 pd->atten_const = constant; 228 pd->atten_const = constant;
229 pd->atten_linear = linear; 229 pd->atten_linear = linear;
230 pd->atten_quad = quadratic; 230 pd->atten_quad = quadratic;
231 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_ATTENUATION, NULL)); 231 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_ATTENUATION, NULL);
232} 232}
233 233
234EOLIAN static void 234EOLIAN static void
@@ -245,7 +245,7 @@ _evas_canvas3d_light_attenuation_enable_set(Eo *obj, Evas_Canvas3D_Light_Data *p
245 if (pd->enable_attenuation != enable) 245 if (pd->enable_attenuation != enable)
246 { 246 {
247 pd->enable_attenuation = enable; 247 pd->enable_attenuation = enable;
248 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_ATTENUATION, NULL)); 248 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_ATTENUATION, NULL);
249 } 249 }
250} 250}
251 251
@@ -260,7 +260,7 @@ _evas_canvas3d_light_projection_matrix_set(Eo *obj, Evas_Canvas3D_Light_Data *pd
260 const Evas_Real *matrix) 260 const Evas_Real *matrix)
261{ 261{
262 eina_matrix4_array_set(&pd->projection, matrix); 262 eina_matrix4_array_set(&pd->projection, matrix);
263 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL)); 263 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL);
264} 264}
265 265
266EOLIAN static void 266EOLIAN static void
@@ -283,7 +283,7 @@ _evas_canvas3d_light_projection_perspective_set(Eo *obj, Evas_Canvas3D_Light_Dat
283 xmax = ymax * aspect; 283 xmax = ymax * aspect;
284 284
285 evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar); 285 evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar);
286 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL)); 286 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL);
287} 287}
288 288
289EOLIAN static void 289EOLIAN static void
@@ -293,7 +293,7 @@ _evas_canvas3d_light_projection_frustum_set(Eo *obj, Evas_Canvas3D_Light_Data *p
293 Evas_Real dnear, Evas_Real dfar) 293 Evas_Real dnear, Evas_Real dfar)
294{ 294{
295 evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar); 295 evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar);
296 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL)); 296 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL);
297} 297}
298 298
299EOLIAN static void 299EOLIAN static void
@@ -303,7 +303,7 @@ _evas_canvas3d_light_projection_ortho_set(Eo *obj, Evas_Canvas3D_Light_Data *pd,
303 Evas_Real dnear, Evas_Real dfar) 303 Evas_Real dnear, Evas_Real dfar)
304{ 304{
305 eina_matrix4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar); 305 eina_matrix4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar);
306 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL)); 306 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL);
307} 307}
308 308
309 309
diff --git a/src/lib/evas/canvas/evas_canvas3d_material.c b/src/lib/evas/canvas/evas_canvas3d_material.c
index 8ce2486..5070d44 100644
--- a/src/lib/evas/canvas/evas_canvas3d_material.c
+++ b/src/lib/evas/canvas/evas_canvas3d_material.c
@@ -8,7 +8,7 @@ _material_mesh_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *key,
8 void *data EINA_UNUSED, void *fdata) 8 void *data EINA_UNUSED, void *fdata)
9{ 9{
10 Evas_Canvas3D_Mesh *m = *(Evas_Canvas3D_Mesh **)key; 10 Evas_Canvas3D_Mesh *m = *(Evas_Canvas3D_Mesh **)key;
11 eo_do(m, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_MATERIAL, (Evas_Canvas3D_Object *)fdata)); 11 evas_canvas3d_object_change(m, EVAS_CANVAS3D_STATE_MESH_MATERIAL, (Evas_Canvas3D_Object *)fdata);
12 return EINA_TRUE; 12 return EINA_TRUE;
13} 13}
14 14
@@ -29,7 +29,7 @@ _evas_canvas3d_material_evas_canvas3d_object_update_notify(Eo *obj EINA_UNUSED,
29 { 29 {
30 if (pd->attribs[i].texture) 30 if (pd->attribs[i].texture)
31 { 31 {
32 eo_do(pd->attribs[i].texture, evas_canvas3d_object_update()); 32 evas_canvas3d_object_update(pd->attribs[i].texture);
33 } 33 }
34 } 34 }
35 } 35 }
@@ -91,8 +91,8 @@ evas_canvas3d_material_add(Evas *e)
91EOLIAN static Eo * 91EOLIAN static Eo *
92_evas_canvas3d_material_eo_base_constructor(Eo *obj EINA_UNUSED, Evas_Canvas3D_Material_Data *pd) 92_evas_canvas3d_material_eo_base_constructor(Eo *obj EINA_UNUSED, Evas_Canvas3D_Material_Data *pd)
93{ 93{
94 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 94 obj = eo_constructor(eo_super(obj, MY_CLASS));
95 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_MATERIAL)); 95 evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_MATERIAL);
96 96
97 evas_color_set(&pd->attribs[EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT].color, 0.2, 0.2, 0.2, 1.0); 97 evas_color_set(&pd->attribs[EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT].color, 0.2, 0.2, 0.2, 1.0);
98 evas_color_set(&pd->attribs[EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE].color, 0.8, 0.8, 0.8, 1.0); 98 evas_color_set(&pd->attribs[EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE].color, 0.8, 0.8, 0.8, 1.0);
@@ -136,7 +136,7 @@ _evas_canvas3d_material_eo_base_destructor(Eo *obj, Evas_Canvas3D_Material_Data
136 evas_canvas3d_texture_material_del(pd->attribs[i].texture, obj); 136 evas_canvas3d_texture_material_del(pd->attribs[i].texture, obj);
137 } 137 }
138 } 138 }
139 eo_do_super(obj, MY_CLASS, eo_destructor()); 139 eo_destructor(eo_super(obj, MY_CLASS));
140} 140}
141 141
142EOLIAN static void 142EOLIAN static void
@@ -155,7 +155,7 @@ EOLIAN static void
155_evas_canvas3d_material_color_set(Eo *obj, Evas_Canvas3D_Material_Data *pd, Evas_Canvas3D_Material_Attrib attrib, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) 155_evas_canvas3d_material_color_set(Eo *obj, Evas_Canvas3D_Material_Data *pd, Evas_Canvas3D_Material_Attrib attrib, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a)
156{ 156{
157 evas_color_set(&pd->attribs[attrib].color, r, g, b, a); 157 evas_color_set(&pd->attribs[attrib].color, r, g, b, a);
158 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MATERIAL_COLOR, NULL)); 158 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MATERIAL_COLOR, NULL);
159} 159}
160 160
161EOLIAN static void 161EOLIAN static void
@@ -195,7 +195,7 @@ _evas_canvas3d_material_texture_set(Eo *obj, Evas_Canvas3D_Material_Data *pd, Ev
195 eo_ref(texture); 195 eo_ref(texture);
196 } 196 }
197 197
198 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MATERIAL_TEXTURE, NULL)); 198 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MATERIAL_TEXTURE, NULL);
199} 199}
200 200
201EOLIAN static Evas_Canvas3D_Texture * 201EOLIAN static Evas_Canvas3D_Texture *
diff --git a/src/lib/evas/canvas/evas_canvas3d_mesh.c b/src/lib/evas/canvas/evas_canvas3d_mesh.c
index 84403c3..d19a1fc 100644
--- a/src/lib/evas/canvas/evas_canvas3d_mesh.c
+++ b/src/lib/evas/canvas/evas_canvas3d_mesh.c
@@ -163,7 +163,7 @@ _mesh_node_geometry_change_notify(const Eina_Hash *hash EINA_UNUSED, const void
163 void *data EINA_UNUSED, void *fdata) 163 void *data EINA_UNUSED, void *fdata)
164{ 164{
165 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key; 165 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key;
166 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, (Evas_Canvas3D_Object *)fdata)); 166 evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, (Evas_Canvas3D_Object *)fdata);
167 return EINA_TRUE; 167 return EINA_TRUE;
168} 168}
169 169
@@ -172,7 +172,7 @@ _mesh_node_material_change_notify(const Eina_Hash *hash EINA_UNUSED, const void
172 void *data EINA_UNUSED, void *fdata) 172 void *data EINA_UNUSED, void *fdata)
173{ 173{
174 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key; 174 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key;
175 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, (Evas_Canvas3D_Object *)fdata)); 175 evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, (Evas_Canvas3D_Object *)fdata);
176 return EINA_TRUE; 176 return EINA_TRUE;
177} 177}
178 178
@@ -201,7 +201,7 @@ _evas_canvas3d_mesh_evas_canvas3d_object_update_notify(Eo *obj EINA_UNUSED, Evas
201 { 201 {
202 if (f->material) 202 if (f->material)
203 { 203 {
204 eo_do(f->material, evas_canvas3d_object_update()); 204 evas_canvas3d_object_update(f->material);
205 } 205 }
206 } 206 }
207} 207}
@@ -261,8 +261,8 @@ evas_canvas3d_mesh_add(Evas *e)
261EOLIAN static Eo * 261EOLIAN static Eo *
262_evas_canvas3d_mesh_eo_base_constructor(Eo *obj, Evas_Canvas3D_Mesh_Data *pd) 262_evas_canvas3d_mesh_eo_base_constructor(Eo *obj, Evas_Canvas3D_Mesh_Data *pd)
263{ 263{
264 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 264 obj = eo_constructor(eo_super(obj, MY_CLASS));
265 eo_do (obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_MESH)); 265 evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_MESH);
266 _mesh_init(pd); 266 _mesh_init(pd);
267 267
268 return obj; 268 return obj;
@@ -272,7 +272,7 @@ EOLIAN static void
272_evas_canvas3d_mesh_eo_base_destructor(Eo *obj, Evas_Canvas3D_Mesh_Data *pd) 272_evas_canvas3d_mesh_eo_base_destructor(Eo *obj, Evas_Canvas3D_Mesh_Data *pd)
273{ 273{
274 _mesh_fini(pd); 274 _mesh_fini(pd);
275 eo_do_super(obj, MY_CLASS, eo_destructor()); 275 eo_destructor(eo_super(obj, MY_CLASS));
276} 276}
277 277
278EOLIAN static void 278EOLIAN static void
@@ -281,7 +281,7 @@ _evas_canvas3d_mesh_shade_mode_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Mesh_Data
281 if (pd->shade_mode != mode) 281 if (pd->shade_mode != mode)
282 { 282 {
283 pd->shade_mode = mode; 283 pd->shade_mode = mode;
284 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_SHADE_MODE, NULL)); 284 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_SHADE_MODE, NULL);
285 } 285 }
286} 286}
287 287
@@ -295,7 +295,7 @@ EOLIAN static void
295_evas_canvas3d_mesh_vertex_count_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, unsigned int count) 295_evas_canvas3d_mesh_vertex_count_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, unsigned int count)
296{ 296{
297 pd->vertex_count = count; 297 pd->vertex_count = count;
298 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_VERTEX_COUNT, NULL)); 298 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_VERTEX_COUNT, NULL);
299} 299}
300 300
301EOLIAN static unsigned int 301EOLIAN static unsigned int
@@ -333,7 +333,7 @@ _evas_canvas3d_mesh_frame_add(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, int frame)
333 333
334 f->frame = frame; 334 f->frame = frame;
335 pd->frames = eina_list_append(pd->frames, f); 335 pd->frames = eina_list_append(pd->frames, f);
336 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_FRAME, NULL)); 336 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_FRAME, NULL);
337} 337}
338 338
339EOLIAN static void 339EOLIAN static void
@@ -349,7 +349,7 @@ _evas_canvas3d_mesh_frame_del(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, int frame)
349 349
350 pd->frames = eina_list_remove(pd->frames, f); 350 pd->frames = eina_list_remove(pd->frames, f);
351 evas_canvas3d_mesh_frame_free(f); 351 evas_canvas3d_mesh_frame_free(f);
352 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_FRAME, NULL)); 352 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_FRAME, NULL);
353} 353}
354 354
355EOLIAN static void 355EOLIAN static void
@@ -374,7 +374,7 @@ _evas_canvas3d_mesh_frame_material_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, int
374 374
375 f->material = material; 375 f->material = material;
376 eo_ref(material); 376 eo_ref(material);
377 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_MATERIAL, NULL)); 377 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_MATERIAL, NULL);
378 evas_canvas3d_material_mesh_add(material, obj); 378 evas_canvas3d_material_mesh_add(material, obj);
379} 379}
380 380
@@ -477,7 +477,7 @@ _evas_canvas3d_mesh_frame_vertex_data_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd,
477 f->vertices[attrib].owns_data = EINA_FALSE; 477 f->vertices[attrib].owns_data = EINA_FALSE;
478 f->vertices[attrib].element_count = element_count; 478 f->vertices[attrib].element_count = element_count;
479 479
480 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_VERTEX_DATA, NULL)); 480 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_VERTEX_DATA, NULL);
481} 481}
482 482
483EOLIAN static void 483EOLIAN static void
@@ -601,7 +601,7 @@ _evas_canvas3d_mesh_frame_vertex_data_copy_set(Eo *obj, Evas_Canvas3D_Mesh_Data
601 ERR("Axis-Aligned Bounding Box wasn't added in frame %d ", frame); 601 ERR("Axis-Aligned Bounding Box wasn't added in frame %d ", frame);
602 } 602 }
603 603
604 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_VERTEX_DATA, NULL)); 604 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_VERTEX_DATA, NULL);
605} 605}
606 606
607EOLIAN static void * 607EOLIAN static void *
@@ -671,7 +671,7 @@ _evas_canvas3d_mesh_index_data_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Ca
671 pd->indices = (void *)indices; 671 pd->indices = (void *)indices;
672 pd->owns_indices = EINA_FALSE; 672 pd->owns_indices = EINA_FALSE;
673 673
674 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_INDEX_DATA, NULL)); 674 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_INDEX_DATA, NULL);
675} 675}
676 676
677EOLIAN static void 677EOLIAN static void
@@ -758,7 +758,7 @@ EOLIAN static void
758_evas_canvas3d_mesh_vertex_assembly_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Canvas3D_Vertex_Assembly assembly) 758_evas_canvas3d_mesh_vertex_assembly_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Canvas3D_Vertex_Assembly assembly)
759{ 759{
760 pd->assembly = assembly; 760 pd->assembly = assembly;
761 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_VERTEX_ASSEMBLY, NULL)); 761 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_VERTEX_ASSEMBLY, NULL);
762} 762}
763 763
764EOLIAN static Evas_Canvas3D_Vertex_Assembly 764EOLIAN static Evas_Canvas3D_Vertex_Assembly
@@ -771,7 +771,7 @@ EOLIAN static void
771_evas_canvas3d_mesh_fog_color_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) 771_evas_canvas3d_mesh_fog_color_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a)
772{ 772{
773 evas_color_set(&pd->fog_color, r, g, b, a); 773 evas_color_set(&pd->fog_color, r, g, b, a);
774 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_FOG, NULL)); 774 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_FOG, NULL);
775} 775}
776 776
777EOLIAN static void 777EOLIAN static void
@@ -788,7 +788,7 @@ EOLIAN static void
788_evas_canvas3d_mesh_fog_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool enabled) 788_evas_canvas3d_mesh_fog_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool enabled)
789{ 789{
790 pd->fog_enabled = enabled; 790 pd->fog_enabled = enabled;
791 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_FOG, NULL)); 791 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_FOG, NULL);
792} 792}
793 793
794EOLIAN static Eina_Bool 794EOLIAN static Eina_Bool
@@ -801,7 +801,7 @@ EOLIAN static void
801_evas_canvas3d_mesh_blending_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool blending) 801_evas_canvas3d_mesh_blending_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool blending)
802{ 802{
803 pd->blending = blending; 803 pd->blending = blending;
804 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_BLENDING, NULL)); 804 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_BLENDING, NULL);
805} 805}
806 806
807EOLIAN static Eina_Bool 807EOLIAN static Eina_Bool
@@ -815,7 +815,7 @@ _evas_canvas3d_mesh_blending_func_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas
815{ 815{
816 pd->blend_sfactor = sfactor; 816 pd->blend_sfactor = sfactor;
817 pd->blend_dfactor = dfactor; 817 pd->blend_dfactor = dfactor;
818 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_BLENDING, NULL)); 818 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_BLENDING, NULL);
819} 819}
820 820
821EOLIAN static void 821EOLIAN static void
@@ -834,7 +834,7 @@ _evas_canvas3d_mesh_alpha_func_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Ca
834 return; 834 return;
835 pd->alpha_comparison = comparison; 835 pd->alpha_comparison = comparison;
836 pd->alpha_ref_value = ref_value; 836 pd->alpha_ref_value = ref_value;
837 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_ALPHA_TEST, NULL)); 837 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_ALPHA_TEST, NULL);
838} 838}
839 839
840EOLIAN static void 840EOLIAN static void
@@ -850,7 +850,7 @@ EOLIAN static void
850_evas_canvas3d_mesh_alpha_test_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool enabled) 850_evas_canvas3d_mesh_alpha_test_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool enabled)
851{ 851{
852 pd->alpha_test_enabled = enabled; 852 pd->alpha_test_enabled = enabled;
853 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_ALPHA_TEST, NULL)); 853 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_ALPHA_TEST, NULL);
854} 854}
855 855
856EOLIAN static Eina_Bool 856EOLIAN static Eina_Bool
@@ -1087,7 +1087,7 @@ _evas_canvas3d_mesh_color_pick_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd,
1087{ 1087{
1088 if (pd->color_pick_enabled != enabled) 1088 if (pd->color_pick_enabled != enabled)
1089 pd->color_pick_enabled = enabled; 1089 pd->color_pick_enabled = enabled;
1090 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_COLOR_PICK, NULL)); 1090 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_COLOR_PICK, NULL);
1091} 1091}
1092 1092
1093EOLIAN static void 1093EOLIAN static void
@@ -1098,7 +1098,7 @@ _evas_canvas3d_mesh_shadows_edges_filtering_set(Eo *obj, Evas_Canvas3D_Mesh_Data
1098 pd->shadows_edges_filtering_level = blur_level; 1098 pd->shadows_edges_filtering_level = blur_level;
1099 if (edges_size >= 0) 1099 if (edges_size >= 0)
1100 pd->shadows_edges_size = edges_size; 1100 pd->shadows_edges_size = edges_size;
1101 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_SHADOWS_EDGES_FILTERING, NULL)); 1101 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_SHADOWS_EDGES_FILTERING, NULL);
1102} 1102}
1103 1103
1104EOLIAN static void 1104EOLIAN static void
@@ -1116,7 +1116,7 @@ _evas_canvas3d_mesh_shadows_constant_bias_set(Eo *obj EINA_UNUSED, Evas_Canvas3D
1116 if (pd->shadows_constant_bias != bias) 1116 if (pd->shadows_constant_bias != bias)
1117 { 1117 {
1118 pd->shadows_constant_bias = bias; 1118 pd->shadows_constant_bias = bias;
1119 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_SHADOWS_CONSTANT_BIAS, NULL)); 1119 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_SHADOWS_CONSTANT_BIAS, NULL);
1120 } 1120 }
1121} 1121}
1122 1122
diff --git a/src/lib/evas/canvas/evas_canvas3d_node.c b/src/lib/evas/canvas/evas_canvas3d_node.c
index 965e090..010d161 100644
--- a/src/lib/evas/canvas/evas_canvas3d_node.c
+++ b/src/lib/evas/canvas/evas_canvas3d_node.c
@@ -70,7 +70,7 @@ _evas_canvas3d_node_private_callback_collision(void *data, const Eo_Event *event
70 { 70 {
71 pd = eo_data_scope_get(n, EVAS_CANVAS3D_NODE_CLASS); 71 pd = eo_data_scope_get(n, EVAS_CANVAS3D_NODE_CLASS);
72 if (box_intersection_box(&pd_target->aabb, &pd->aabb)) 72 if (box_intersection_box(&pd_target->aabb, &pd->aabb))
73 eo_do(target_node, ret = eo_event_callback_call(eo_desc, n)); 73 ret = eo_event_callback_call(target_node, eo_desc, n);
74 } 74 }
75 return ret; 75 return ret;
76 } 76 }
@@ -81,7 +81,7 @@ _evas_canvas3d_node_private_callback_clicked(void *data EINA_UNUSED, const Eo_Ev
81{ 81{
82 Eina_Bool ret = EINA_FALSE; 82 Eina_Bool ret = EINA_FALSE;
83 const Eo_Event_Description *eo_desc = eo_base_legacy_only_event_description_get("clicked"); 83 const Eo_Event_Description *eo_desc = eo_base_legacy_only_event_description_get("clicked");
84 eo_do((Eo *)event->event_info, ret = eo_event_callback_call(eo_desc, event->event_info)); 84 ret = eo_event_callback_call((Eo *)event->event_info, eo_desc, event->event_info);
85 85
86 return ret; 86 return ret;
87} 87}
@@ -121,7 +121,7 @@ _node_scene_root_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *ke
121 void *data EINA_UNUSED, void *fdata) 121 void *data EINA_UNUSED, void *fdata)
122{ 122{
123 Evas_Canvas3D_Scene *s = *(Evas_Canvas3D_Scene **)key; 123 Evas_Canvas3D_Scene *s = *(Evas_Canvas3D_Scene **)key;
124 eo_do(s, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_ROOT_NODE, (Evas_Canvas3D_Object *)fdata)); 124 evas_canvas3d_object_change(s, EVAS_CANVAS3D_STATE_SCENE_ROOT_NODE, (Evas_Canvas3D_Object *)fdata);
125 return EINA_TRUE; 125 return EINA_TRUE;
126} 126}
127 127
@@ -130,7 +130,7 @@ _node_scene_camera_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *
130 void *data EINA_UNUSED, void *fdata) 130 void *data EINA_UNUSED, void *fdata)
131{ 131{
132 Evas_Canvas3D_Scene *s = *(Evas_Canvas3D_Scene **)key; 132 Evas_Canvas3D_Scene *s = *(Evas_Canvas3D_Scene **)key;
133 eo_do(s, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_CAMERA_NODE, (Evas_Canvas3D_Object *)fdata)); 133 evas_canvas3d_object_change(s, EVAS_CANVAS3D_STATE_SCENE_CAMERA_NODE, (Evas_Canvas3D_Object *)fdata);
134 return EINA_TRUE; 134 return EINA_TRUE;
135} 135}
136 136
@@ -158,7 +158,7 @@ _evas_canvas3d_node_evas_canvas3d_object_change_notify(Eo *obj, Evas_Canvas3D_No
158 /* Notify parent that a member has changed. */ 158 /* Notify parent that a member has changed. */
159 if (pd->parent && !parent_change) 159 if (pd->parent && !parent_change)
160 { 160 {
161 eo_do(pd->parent, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MEMBER, obj)); 161 evas_canvas3d_object_change(pd->parent, EVAS_CANVAS3D_STATE_NODE_MEMBER, obj);
162 } 162 }
163 163
164 orientation = (state == EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION) 164 orientation = (state == EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION)
@@ -172,7 +172,7 @@ _evas_canvas3d_node_evas_canvas3d_object_change_notify(Eo *obj, Evas_Canvas3D_No
172 if (scale) 172 if (scale)
173 EINA_LIST_FOREACH(pd->members, l, n) 173 EINA_LIST_FOREACH(pd->members, l, n)
174 { 174 {
175 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, obj)); 175 evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, obj);
176 } 176 }
177 if (orientation && !(pd->billboard_target)) 177 if (orientation && !(pd->billboard_target))
178 EINA_LIST_FOREACH(pd->members, l, n) 178 EINA_LIST_FOREACH(pd->members, l, n)
@@ -181,12 +181,12 @@ _evas_canvas3d_node_evas_canvas3d_object_change_notify(Eo *obj, Evas_Canvas3D_No
181 Evas_Canvas3D_Node_Data *pdm = eo_data_scope_get(n, EVAS_CANVAS3D_NODE_CLASS); 181 Evas_Canvas3D_Node_Data *pdm = eo_data_scope_get(n, EVAS_CANVAS3D_NODE_CLASS);
182 if (pdm->billboard_target) 182 if (pdm->billboard_target)
183 continue; 183 continue;
184 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, obj)); 184 evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, obj);
185 } 185 }
186 if (position) 186 if (position)
187 EINA_LIST_FOREACH(pd->members, l, n) 187 EINA_LIST_FOREACH(pd->members, l, n)
188 { 188 {
189 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, obj)); 189 evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, obj);
190 } 190 }
191} 191}
192 192
@@ -199,8 +199,7 @@ _evas_canvas3d_node_evas_canvas3d_object_callback_register(Eo *obj, Evas_Canvas3
199 GET_CALLBACK_TYPE(tcb, event) 199 GET_CALLBACK_TYPE(tcb, event)
200 200
201 if (tcb != PRIVATE_CALLBACK_NONE) 201 if (tcb != PRIVATE_CALLBACK_NONE)
202 eo_do(obj, eo_event_callback_add(&evas_canvas3d_node_private_event_desc[tcb], 202 eo_event_callback_add(obj, &evas_canvas3d_node_private_event_desc[tcb], evas_canvas3d_node_private_callback_functions[tcb], data);
203 evas_canvas3d_node_private_callback_functions[tcb], data));
204 203
205} 204}
206 205
@@ -213,8 +212,7 @@ _evas_canvas3d_node_evas_canvas3d_object_callback_unregister(Eo *obj, Evas_Canva
213 GET_CALLBACK_TYPE(tcb, event) 212 GET_CALLBACK_TYPE(tcb, event)
214 213
215 if (tcb != PRIVATE_CALLBACK_NONE) 214 if (tcb != PRIVATE_CALLBACK_NONE)
216 eo_do(obj, eo_event_callback_del(&evas_canvas3d_node_private_event_desc[tcb], 215 eo_event_callback_del(obj, &evas_canvas3d_node_private_event_desc[tcb], evas_canvas3d_node_private_callback_functions[tcb], NULL);
217 evas_canvas3d_node_private_callback_functions[tcb], NULL));
218} 216}
219 217
220static Eina_Bool 218static Eina_Bool
@@ -223,13 +221,12 @@ _node_transform_update(Evas_Canvas3D_Node *node, void *data EINA_UNUSED)
223 Evas_Canvas3D_Node_Data *pd = eo_data_scope_get(node, MY_CLASS); 221 Evas_Canvas3D_Node_Data *pd = eo_data_scope_get(node, MY_CLASS);
224 Eina_Bool transform_dirty = EINA_FALSE, parent_dirty = EINA_FALSE; 222 Eina_Bool transform_dirty = EINA_FALSE, parent_dirty = EINA_FALSE;
225 223
226 eo_do(node, 224 transform_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION);
227 transform_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION), 225 transform_dirty|= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION);
228 transform_dirty|= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION), 226 transform_dirty|= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE);
229 transform_dirty|= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE), 227 parent_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION);
230 parent_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION), 228 parent_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION);
231 parent_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION), 229 parent_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE);
232 parent_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE));
233 230
234 if (transform_dirty || parent_dirty) 231 if (transform_dirty || parent_dirty)
235 { 232 {
@@ -355,14 +352,14 @@ _node_item_update(Evas_Canvas3D_Node *node, void *data EINA_UNUSED)
355 { 352 {
356 if (pd->data.camera.camera) 353 if (pd->data.camera.camera)
357 { 354 {
358 eo_do(pd->data.camera.camera, evas_canvas3d_object_update()); 355 evas_canvas3d_object_update(pd->data.camera.camera);
359 } 356 }
360 } 357 }
361 else if (pd->type == EVAS_CANVAS3D_NODE_TYPE_LIGHT) 358 else if (pd->type == EVAS_CANVAS3D_NODE_TYPE_LIGHT)
362 { 359 {
363 if (pd->data.light.light) 360 if (pd->data.light.light)
364 { 361 {
365 eo_do(pd->data.light.light, evas_canvas3d_object_update()); 362 evas_canvas3d_object_update(pd->data.light.light);
366 } 363 }
367 } 364 }
368 else if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH) 365 else if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH)
@@ -371,7 +368,7 @@ _node_item_update(Evas_Canvas3D_Node *node, void *data EINA_UNUSED)
371 Evas_Canvas3D_Mesh *m; 368 Evas_Canvas3D_Mesh *m;
372 EINA_LIST_FOREACH(pd->data.mesh.meshes, l, m) 369 EINA_LIST_FOREACH(pd->data.mesh.meshes, l, m)
373 { 370 {
374 eo_do(m, evas_canvas3d_object_update()); 371 evas_canvas3d_object_update(m);
375 } 372 }
376 } 373 }
377 374
@@ -390,10 +387,10 @@ _pack_meshes_vertex_data(Evas_Canvas3D_Node *node, Eina_Vector3 **vertices, int
390 Evas_Real pos_weight; 387 Evas_Real pos_weight;
391 388
392 *count = 0; 389 *count = 0;
393 eo_do(node, m = (Eina_List *)evas_canvas3d_node_mesh_list_get()); 390 m = (Eina_List *)evas_canvas3d_node_mesh_list_get(node);
394 EINA_LIST_FOREACH(m, l, mesh) 391 EINA_LIST_FOREACH(m, l, mesh)
395 { 392 {
396 eo_do(node, frame = evas_canvas3d_node_mesh_frame_get(mesh)); 393 frame = evas_canvas3d_node_mesh_frame_get(node, mesh);
397 evas_canvas3d_mesh_interpolate_vertex_buffer_get(mesh, frame, EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION, 394 evas_canvas3d_mesh_interpolate_vertex_buffer_get(mesh, frame, EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION,
398 &pos0, &pos1, &pos_weight); 395 &pos0, &pos1, &pos_weight);
399 if(!pos0.data) continue; 396 if(!pos0.data) continue;
@@ -416,7 +413,7 @@ _pack_meshes_vertex_data(Evas_Canvas3D_Node *node, Eina_Vector3 **vertices, int
416 413
417 EINA_LIST_FOREACH(m, l, mesh) 414 EINA_LIST_FOREACH(m, l, mesh)
418 { 415 {
419 eo_do(node, frame = evas_canvas3d_node_mesh_frame_get(mesh)); 416 frame = evas_canvas3d_node_mesh_frame_get(node, mesh);
420 evas_canvas3d_mesh_interpolate_vertex_buffer_get(mesh, frame, EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION, 417 evas_canvas3d_mesh_interpolate_vertex_buffer_get(mesh, frame, EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION,
421 &pos0, &pos1, &pos_weight); 418 &pos0, &pos1, &pos_weight);
422 if(!pos0.data) continue; 419 if(!pos0.data) continue;
@@ -461,15 +458,14 @@ _update_node_shapes(Evas_Canvas3D_Node *node)
461 return; 458 return;
462 } 459 }
463 460
464 eo_do(node, 461 transform_orientation_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION);
465 transform_orientation_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION), 462 transform_orientation_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION);
466 transform_orientation_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION), 463 transform_position_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION);
467 transform_position_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION), 464 transform_position_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION);
468 transform_position_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION), 465 transform_scale_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE);
469 transform_scale_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE), 466 transform_scale_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE);
470 transform_scale_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE), 467 mesh_geom_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY);
471 mesh_geom_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY), 468 mesh_geom_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_MESH_FRAME);
472 mesh_geom_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_MESH_FRAME));
473 469
474 470
475 _pack_meshes_vertex_data(node, &vertices, &count); 471 _pack_meshes_vertex_data(node, &vertices, &count);
@@ -510,7 +506,7 @@ node_aabb_update(Evas_Canvas3D_Node *node, void *data EINA_UNUSED)
510 506
511 evas_build_sphere(&pd->aabb, &pd->bsphere); 507 evas_build_sphere(&pd->aabb, &pd->bsphere);
512 eo_desc = eo_base_legacy_only_event_description_get("collision,private"); 508 eo_desc = eo_base_legacy_only_event_description_get("collision,private");
513 eo_do(node, eo_event_callback_call(eo_desc, (void *)node)); 509 eo_event_callback_call(node, eo_desc, (void *)node);
514 510
515 return EINA_TRUE; 511 return EINA_TRUE;
516} 512}
@@ -569,7 +565,7 @@ _node_free(Evas_Canvas3D_Object *obj)
569 565
570 if (pd->parent) 566 if (pd->parent)
571 { 567 {
572 eo_do(pd->parent, evas_canvas3d_node_member_del(obj)); 568 evas_canvas3d_node_member_del(pd->parent, obj);
573 } 569 }
574 570
575 if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH && pd->data.mesh.meshes) 571 if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH && pd->data.mesh.meshes)
@@ -898,7 +894,7 @@ evas_canvas3d_node_mesh_collect(Evas_Canvas3D_Node *node, void *data)
898 scene_data->mesh_nodes = eina_list_append(scene_data->mesh_nodes, node); 894 scene_data->mesh_nodes = eina_list_append(scene_data->mesh_nodes, node);
899 895
900 /* calculation of tangent space for all meshes */ 896 /* calculation of tangent space for all meshes */
901 eo_do (node, list_meshes = (Eina_List *)evas_canvas3d_node_mesh_list_get()); 897 list_meshes = (Eina_List *)evas_canvas3d_node_mesh_list_get(node);
902 EINA_LIST_FOREACH(list_meshes, l, mesh) 898 EINA_LIST_FOREACH(list_meshes, l, mesh)
903 { 899 {
904 mesh_pd = eo_data_scope_get(mesh, MY_CLASS); 900 mesh_pd = eo_data_scope_get(mesh, MY_CLASS);
@@ -937,7 +933,7 @@ evas_canvas3d_node_mesh_collect(Evas_Canvas3D_Node *node, void *data)
937 evas_tangent_space_get(vertex_data, tex_data, normal_data, index, mesh_pd->vertex_count, 933 evas_tangent_space_get(vertex_data, tex_data, normal_data, index, mesh_pd->vertex_count,
938 mesh_pd->index_count, stride, tex_stride, normal_stride, &tangent_data); 934 mesh_pd->index_count, stride, tex_stride, normal_stride, &tangent_data);
939 935
940 eo_do(mesh, evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_ATTRIB_TANGENT, 3 * sizeof(float), tangent_data)); 936 evas_canvas3d_mesh_frame_vertex_data_copy_set(mesh, 0, EVAS_CANVAS3D_VERTEX_ATTRIB_TANGENT, 3 * sizeof(float), tangent_data);
941 free(tangent_data); 937 free(tangent_data);
942 } 938 }
943 } 939 }
@@ -967,16 +963,14 @@ evas_canvas3d_node_color_node_mesh_collect(Evas_Canvas3D_Node *node, void *data)
967 Eina_Array *arr; 963 Eina_Array *arr;
968 if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH) 964 if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH)
969 { 965 {
970 eo_do(camera, 966 visible = evas_canvas3d_camera_node_visible_get(camera, scene_data->camera_node, node, EVAS_CANVAS3D_FRUSTUM_MODE_BSPHERE);
971 visible = evas_canvas3d_camera_node_visible_get(scene_data->camera_node,
972 node, EVAS_CANVAS3D_FRUSTUM_MODE_BSPHERE));
973 if (visible) 967 if (visible)
974 { 968 {
975 eo_do (node, list_meshes = (Eina_List *)evas_canvas3d_node_mesh_list_get()); 969 list_meshes = (Eina_List *)evas_canvas3d_node_mesh_list_get(node);
976 EINA_LIST_FOREACH(list_meshes, l, mesh) 970 EINA_LIST_FOREACH(list_meshes, l, mesh)
977 { 971 {
978 Eina_Bool tmp; 972 Eina_Bool tmp;
979 if (eo_do_ret(mesh, tmp, evas_canvas3d_mesh_color_pick_enable_get())) 973 if (evas_canvas3d_mesh_color_pick_enable_get(mesh))
980 { 974 {
981 color = calloc(1, sizeof(Evas_Color)); 975 color = calloc(1, sizeof(Evas_Color));
982 976
@@ -1019,14 +1013,14 @@ evas_canvas3d_node_add(Evas *e, Evas_Canvas3D_Node_Type type)
1019 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 1013 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
1020 return NULL; 1014 return NULL;
1021 MAGIC_CHECK_END(); 1015 MAGIC_CHECK_END();
1022 Evas_Object *eo_obj = eo_add(MY_CLASS, e, evas_canvas3d_node_constructor(type)); 1016 Evas_Object *eo_obj = eo_add(MY_CLASS, e, evas_canvas3d_node_constructor(eoid, type));
1023 return eo_obj; 1017 return eo_obj;
1024} 1018}
1025 1019
1026EOLIAN static void 1020EOLIAN static void
1027_evas_canvas3d_node_constructor(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3D_Node_Type type) 1021_evas_canvas3d_node_constructor(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3D_Node_Type type)
1028{ 1022{
1029 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_NODE)); 1023 evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_NODE);
1030 1024
1031 eina_vector3_set(&pd->position, 0.0, 0.0, 0.0); 1025 eina_vector3_set(&pd->position, 0.0, 0.0, 0.0);
1032 eina_quaternion_set(&pd->orientation, 0.0, 0.0, 0.0, 1.0); 1026 eina_quaternion_set(&pd->orientation, 0.0, 0.0, 0.0, 1.0);
@@ -1062,7 +1056,7 @@ _evas_canvas3d_node_eo_base_destructor(Eo *obj, Evas_Canvas3D_Node_Data *pd EINA
1062{ 1056{
1063 _node_free(obj); 1057 _node_free(obj);
1064 1058
1065 eo_do_super(obj, MY_CLASS, eo_destructor()); 1059 eo_destructor(eo_super(obj, MY_CLASS));
1066} 1060}
1067 1061
1068EOLIAN static Evas_Canvas3D_Node_Type 1062EOLIAN static Evas_Canvas3D_Node_Type
@@ -1090,7 +1084,7 @@ _evas_canvas3d_node_member_add(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas
1090 pdmemberparent->members = eina_list_remove(pdmemberparent->members, member); 1084 pdmemberparent->members = eina_list_remove(pdmemberparent->members, member);
1091 1085
1092 /* Mark changed. */ 1086 /* Mark changed. */
1093 eo_do(pdmember->parent, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL)); 1087 evas_canvas3d_object_change(pdmember->parent, EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL);
1094 } 1088 }
1095 else 1089 else
1096 { 1090 {
@@ -1103,10 +1097,10 @@ _evas_canvas3d_node_member_add(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas
1103 pdmember->parent = obj; 1097 pdmember->parent = obj;
1104 1098
1105 /* Mark changed. */ 1099 /* Mark changed. */
1106 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL)); 1100 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL);
1107 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, NULL)); 1101 evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, NULL);
1108 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, NULL)); 1102 evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, NULL);
1109 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, NULL)); 1103 evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, NULL);
1110} 1104}
1111 1105
1112EOLIAN static void 1106EOLIAN static void
@@ -1124,10 +1118,10 @@ _evas_canvas3d_node_member_del(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas
1124 pdmember->parent = NULL; 1118 pdmember->parent = NULL;
1125 1119
1126 /* Mark modified object as changed. */ 1120 /* Mark modified object as changed. */
1127 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL)); 1121 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL);
1128 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, NULL)); 1122 evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, NULL);
1129 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, NULL)); 1123 evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, NULL);
1130 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, NULL)); 1124 evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, NULL);
1131 1125
1132 /* Decrease reference count. */ 1126 /* Decrease reference count. */
1133 eo_unref(member); 1127 eo_unref(member);
@@ -1152,7 +1146,7 @@ _evas_canvas3d_node_position_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Real
1152 pd->position.y = y; 1146 pd->position.y = y;
1153 pd->position.z = z; 1147 pd->position.z = z;
1154 1148
1155 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION, NULL)); 1149 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION, NULL);
1156} 1150}
1157 1151
1158EOLIAN static void 1152EOLIAN static void
@@ -1163,7 +1157,7 @@ _evas_canvas3d_node_orientation_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_R
1163 pd->orientation.z = z; 1157 pd->orientation.z = z;
1164 pd->orientation.w = w; 1158 pd->orientation.w = w;
1165 1159
1166 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); 1160 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL);
1167} 1161}
1168 1162
1169EOLIAN static void 1163EOLIAN static void
@@ -1182,7 +1176,7 @@ _evas_canvas3d_node_orientation_angle_axis_set(Eo *obj, Evas_Canvas3D_Node_Data
1182 pd->orientation.y = s * axis.y; 1176 pd->orientation.y = s * axis.y;
1183 pd->orientation.z = s * axis.z; 1177 pd->orientation.z = s * axis.z;
1184 1178
1185 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); 1179 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL);
1186} 1180}
1187 1181
1188EOLIAN static void 1182EOLIAN static void
@@ -1192,7 +1186,7 @@ _evas_canvas3d_node_scale_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Real x,
1192 pd->scale.y = y; 1186 pd->scale.y = y;
1193 pd->scale.z = z; 1187 pd->scale.z = z;
1194 1188
1195 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE, NULL)); 1189 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE, NULL);
1196} 1190}
1197 1191
1198EOLIAN static void 1192EOLIAN static void
@@ -1213,7 +1207,7 @@ _evas_canvas3d_node_position_get(const Eo *obj, Evas_Canvas3D_Node_Data *pd, Eva
1213 } 1207 }
1214 else if (space == EVAS_CANVAS3D_SPACE_WORLD) 1208 else if (space == EVAS_CANVAS3D_SPACE_WORLD)
1215 { 1209 {
1216 eo_do(obj, evas_canvas3d_object_update()); 1210 evas_canvas3d_object_update(obj);
1217 1211
1218 if (x) *x = pd->position_world.x; 1212 if (x) *x = pd->position_world.x;
1219 if (y) *y = pd->position_world.y; 1213 if (y) *y = pd->position_world.y;
@@ -1241,7 +1235,7 @@ _evas_canvas3d_node_orientation_get(const Eo *obj, Evas_Canvas3D_Node_Data *pd,
1241 } 1235 }
1242 else if (space == EVAS_CANVAS3D_SPACE_WORLD) 1236 else if (space == EVAS_CANVAS3D_SPACE_WORLD)
1243 { 1237 {
1244 eo_do(obj, evas_canvas3d_object_update()); 1238 evas_canvas3d_object_update(obj);
1245 1239
1246 if (x) *x = pd->orientation_world.x; 1240 if (x) *x = pd->orientation_world.x;
1247 if (y) *y = pd->orientation_world.y; 1241 if (y) *y = pd->orientation_world.y;
@@ -1269,7 +1263,7 @@ _evas_canvas3d_node_scale_get(const Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_C
1269 } 1263 }
1270 else if (space == EVAS_CANVAS3D_SPACE_WORLD) 1264 else if (space == EVAS_CANVAS3D_SPACE_WORLD)
1271 { 1265 {
1272 eo_do(obj, evas_canvas3d_object_update()); 1266 evas_canvas3d_object_update(obj);
1273 1267
1274 if (x) *x = pd->scale_world.x; 1268 if (x) *x = pd->scale_world.x;
1275 if (y) *y = pd->scale_world.y; 1269 if (y) *y = pd->scale_world.y;
@@ -1281,21 +1275,21 @@ EOLIAN static void
1281_evas_canvas3d_node_position_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit) 1275_evas_canvas3d_node_position_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit)
1282{ 1276{
1283 pd->position_inherit = inherit; 1277 pd->position_inherit = inherit;
1284 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION, NULL)); 1278 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION, NULL);
1285} 1279}
1286 1280
1287EOLIAN static void 1281EOLIAN static void
1288_evas_canvas3d_node_orientation_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit) 1282_evas_canvas3d_node_orientation_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit)
1289{ 1283{
1290 pd->orientation_inherit = inherit; 1284 pd->orientation_inherit = inherit;
1291 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); 1285 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL);
1292} 1286}
1293 1287
1294EOLIAN static void 1288EOLIAN static void
1295_evas_canvas3d_node_scale_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit) 1289_evas_canvas3d_node_scale_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit)
1296{ 1290{
1297 pd->scale_inherit = inherit; 1291 pd->scale_inherit = inherit;
1298 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE, NULL)); 1292 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE, NULL);
1299} 1293}
1300 1294
1301EOLIAN static Eina_Bool 1295EOLIAN static Eina_Bool
@@ -1430,7 +1424,7 @@ _evas_canvas3d_node_look_at_set(Eo *obj, Evas_Canvas3D_Node_Data *pd,
1430 1424
1431 _look_at_set(pd, &target, &up); 1425 _look_at_set(pd, &target, &up);
1432 1426
1433 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); 1427 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL);
1434} 1428}
1435 1429
1436EOLIAN static void 1430EOLIAN static void
@@ -1459,7 +1453,7 @@ _evas_canvas3d_node_camera_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas
1459 evas_canvas3d_camera_node_add(camera, obj); 1453 evas_canvas3d_camera_node_add(camera, obj);
1460 1454
1461 /* Mark changed. */ 1455 /* Mark changed. */
1462 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_CAMERA, NULL)); 1456 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_CAMERA, NULL);
1463} 1457}
1464 1458
1465EOLIAN static Evas_Canvas3D_Camera * 1459EOLIAN static Evas_Canvas3D_Camera *
@@ -1494,7 +1488,7 @@ _evas_canvas3d_node_light_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3
1494 evas_canvas3d_light_node_add(light, obj); 1488 evas_canvas3d_light_node_add(light, obj);
1495 1489
1496 /* Mark changed. */ 1490 /* Mark changed. */
1497 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_LIGHT, NULL)); 1491 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_LIGHT, NULL);
1498} 1492}
1499 1493
1500EOLIAN static Evas_Canvas3D_Light * 1494EOLIAN static Evas_Canvas3D_Light *
@@ -1541,8 +1535,8 @@ _evas_canvas3d_node_mesh_add(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3D
1541 evas_canvas3d_mesh_node_add(mesh, obj); 1535 evas_canvas3d_mesh_node_add(mesh, obj);
1542 1536
1543 /* Mark changed. */ 1537 /* Mark changed. */
1544 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, NULL)); 1538 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, NULL);
1545 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, NULL)); 1539 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, NULL);
1546} 1540}
1547 1541
1548EOLIAN static void 1542EOLIAN static void
@@ -1564,8 +1558,8 @@ _evas_canvas3d_node_mesh_del(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3D
1564 evas_canvas3d_mesh_node_del(mesh, obj); 1558 evas_canvas3d_mesh_node_del(mesh, obj);
1565 eo_unref(mesh); 1559 eo_unref(mesh);
1566 1560
1567 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, NULL)); 1561 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, NULL);
1568 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, NULL)); 1562 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, NULL);
1569} 1563}
1570 1564
1571EOLIAN static const Eina_List * 1565EOLIAN static const Eina_List *
@@ -1592,7 +1586,7 @@ _evas_canvas3d_node_mesh_frame_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Ca
1592 } 1586 }
1593 1587
1594 nm->frame = frame; 1588 nm->frame = frame;
1595 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_FRAME, NULL)); 1589 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_FRAME, NULL);
1596} 1590}
1597 1591
1598EOLIAN static int 1592EOLIAN static int
@@ -1618,7 +1612,7 @@ _evas_canvas3d_node_mesh_frame_get(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node_Data
1618EOLIAN static void 1612EOLIAN static void
1619_evas_canvas3d_node_bounding_box_get(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node_Data *pd, Evas_Real *x, Evas_Real *y, Evas_Real *z, Evas_Real *x2, Evas_Real *y2, Evas_Real *z2) 1613_evas_canvas3d_node_bounding_box_get(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node_Data *pd, Evas_Real *x, Evas_Real *y, Evas_Real *z, Evas_Real *x2, Evas_Real *y2, Evas_Real *z2)
1620{ 1614{
1621 eo_do(obj, evas_canvas3d_object_update()); 1615 evas_canvas3d_object_update(obj);
1622 evas_canvas3d_node_tree_traverse(obj, EVAS_CANVAS3D_TREE_TRAVERSE_LEVEL_ORDER, EINA_FALSE, 1616 evas_canvas3d_node_tree_traverse(obj, EVAS_CANVAS3D_TREE_TRAVERSE_LEVEL_ORDER, EINA_FALSE,
1623 node_aabb_update, NULL); 1617 node_aabb_update, NULL);
1624 1618
@@ -1633,7 +1627,7 @@ _evas_canvas3d_node_bounding_box_get(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node_Dat
1633EOLIAN static void 1627EOLIAN static void
1634_evas_canvas3d_node_bounding_sphere_get(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node_Data *pd, Evas_Real *x, Evas_Real *y, Evas_Real *z, Evas_Real *r) 1628_evas_canvas3d_node_bounding_sphere_get(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node_Data *pd, Evas_Real *x, Evas_Real *y, Evas_Real *z, Evas_Real *r)
1635{ 1629{
1636 eo_do(obj, evas_canvas3d_object_update()); 1630 evas_canvas3d_object_update(obj);
1637 evas_canvas3d_node_tree_traverse(obj, EVAS_CANVAS3D_TREE_TRAVERSE_LEVEL_ORDER, EINA_FALSE, 1631 evas_canvas3d_node_tree_traverse(obj, EVAS_CANVAS3D_TREE_TRAVERSE_LEVEL_ORDER, EINA_FALSE,
1638 node_aabb_update, NULL); 1632 node_aabb_update, NULL);
1639 1633
@@ -1650,7 +1644,7 @@ _evas_canvas3d_node_billboard_target_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node
1650 if (pd->billboard_target != target) 1644 if (pd->billboard_target != target)
1651 { 1645 {
1652 pd->billboard_target = target; 1646 pd->billboard_target = target;
1653 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_BILLBOARD, NULL)); 1647 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_PARENT_BILLBOARD, NULL);
1654 } 1648 }
1655} 1649}
1656 1650
diff --git a/src/lib/evas/canvas/evas_canvas3d_object.c b/src/lib/evas/canvas/evas_canvas3d_object.c
index e9604fa..04b0319 100644
--- a/src/lib/evas/canvas/evas_canvas3d_object.c
+++ b/src/lib/evas/canvas/evas_canvas3d_object.c
@@ -7,8 +7,8 @@ EOLIAN static Eo *
7_evas_canvas3d_object_eo_base_constructor(Eo *obj, Evas_Canvas3D_Object_Data *pd) 7_evas_canvas3d_object_eo_base_constructor(Eo *obj, Evas_Canvas3D_Object_Data *pd)
8{ 8{
9 Eo *e = NULL; 9 Eo *e = NULL;
10 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 10 obj = eo_constructor(eo_super(obj, MY_CLASS));
11 eo_do(obj, e = eo_parent_get()); 11 e = eo_parent_get(obj);
12 pd->evas = e; 12 pd->evas = e;
13 pd->type = EVAS_CANVAS3D_OBJECT_TYPE_INVALID; 13 pd->type = EVAS_CANVAS3D_OBJECT_TYPE_INVALID;
14 memset(&pd->dirty[0], 0x00, sizeof(Eina_Bool) * EVAS_CANVAS3D_STATE_MAX); 14 memset(&pd->dirty[0], 0x00, sizeof(Eina_Bool) * EVAS_CANVAS3D_STATE_MAX);
@@ -50,7 +50,7 @@ _evas_canvas3d_object_change(Eo *obj, Evas_Canvas3D_Object_Data *pd, Evas_Canvas
50 pd->dirty[state] = EINA_TRUE; 50 pd->dirty[state] = EINA_TRUE;
51 pd->dirty[EVAS_CANVAS3D_STATE_ANY] = EINA_TRUE; 51 pd->dirty[EVAS_CANVAS3D_STATE_ANY] = EINA_TRUE;
52 52
53 eo_do(obj, evas_canvas3d_object_change_notify(state, ref)); 53 evas_canvas3d_object_change_notify(obj, state, ref);
54} 54}
55 55
56EOLIAN static void 56EOLIAN static void
@@ -59,7 +59,7 @@ _evas_canvas3d_object_update(Eo *obj, Evas_Canvas3D_Object_Data *pd)
59 if (!pd->dirty[EVAS_CANVAS3D_STATE_ANY]) 59 if (!pd->dirty[EVAS_CANVAS3D_STATE_ANY])
60 return; 60 return;
61 61
62 eo_do(obj, evas_canvas3d_object_update_notify()); 62 evas_canvas3d_object_update_notify(obj);
63 63
64 memset(&pd->dirty[0], 0x00, sizeof(Eina_Bool) * EVAS_CANVAS3D_STATE_MAX); 64 memset(&pd->dirty[0], 0x00, sizeof(Eina_Bool) * EVAS_CANVAS3D_STATE_MAX);
65} 65}
@@ -74,8 +74,8 @@ _evas_canvas3d_object_eo_base_event_callback_priority_add(Eo *obj,
74{ 74{
75 Eina_Bool r = EINA_FALSE; 75 Eina_Bool r = EINA_FALSE;
76 76
77 eo_do_super(obj, MY_CLASS, r = eo_event_callback_priority_add(desc, priority, func, user_data)); 77 r = eo_event_callback_priority_add(eo_super(obj, MY_CLASS), desc, priority, func, user_data);
78 eo_do(obj, evas_canvas3d_object_callback_register(desc->name, user_data)); 78 evas_canvas3d_object_callback_register(obj, desc->name, user_data);
79 79
80 return r; 80 return r;
81} 81}
@@ -87,8 +87,8 @@ _evas_canvas3d_object_eo_base_event_callback_del(Eo *obj, Evas_Canvas3D_Object_D
87 const void *user_data) 87 const void *user_data)
88{ 88{
89 Eina_Bool r = EINA_FALSE; 89 Eina_Bool r = EINA_FALSE;
90 eo_do_super(obj, MY_CLASS, r = eo_event_callback_del(desc, func, user_data)); 90 r = eo_event_callback_del(eo_super(obj, MY_CLASS), desc, func, user_data);
91 if (r) eo_do(obj, evas_canvas3d_object_callback_unregister(desc->name)); 91 if (r) evas_canvas3d_object_callback_unregister(obj, desc->name);
92 return r; 92 return r;
93} 93}
94 94
diff --git a/src/lib/evas/canvas/evas_canvas3d_primitive.c b/src/lib/evas/canvas/evas_canvas3d_primitive.c
index 28e747c..76dcdd6 100644
--- a/src/lib/evas/canvas/evas_canvas3d_primitive.c
+++ b/src/lib/evas/canvas/evas_canvas3d_primitive.c
@@ -27,8 +27,8 @@ evas_canvas3d_primitive_add(Evas *e)
27EOLIAN static Eo * 27EOLIAN static Eo *
28_evas_canvas3d_primitive_eo_base_constructor(Eo *obj, Evas_Canvas3D_Primitive_Data *pd) 28_evas_canvas3d_primitive_eo_base_constructor(Eo *obj, Evas_Canvas3D_Primitive_Data *pd)
29{ 29{
30 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 30 obj = eo_constructor(eo_super(obj, MY_CLASS));
31 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_PRIMITIVE)); 31 evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_PRIMITIVE);
32 _primitive_init(pd); 32 _primitive_init(pd);
33 33
34 return obj; 34 return obj;
@@ -37,7 +37,7 @@ _evas_canvas3d_primitive_eo_base_constructor(Eo *obj, Evas_Canvas3D_Primitive_Da
37EOLIAN static void 37EOLIAN static void
38_evas_canvas3d_primitive_eo_base_destructor(Eo *obj, Evas_Canvas3D_Primitive_Data *pd EINA_UNUSED) 38_evas_canvas3d_primitive_eo_base_destructor(Eo *obj, Evas_Canvas3D_Primitive_Data *pd EINA_UNUSED)
39{ 39{
40 eo_do_super(obj, MY_CLASS, eo_destructor()); 40 eo_destructor(eo_super(obj, MY_CLASS));
41} 41}
42 42
43EOLIAN static void 43EOLIAN static void
diff --git a/src/lib/evas/canvas/evas_canvas3d_scene.c b/src/lib/evas/canvas/evas_canvas3d_scene.c
index 3030704..c7b229e 100644
--- a/src/lib/evas/canvas/evas_canvas3d_scene.c
+++ b/src/lib/evas/canvas/evas_canvas3d_scene.c
@@ -44,15 +44,15 @@ _evas_canvas3d_scene_evas_canvas3d_object_update_notify(Eo *obj EINA_UNUSED, Eva
44{ 44{
45 if (pd->root_node) 45 if (pd->root_node)
46 { 46 {
47 eo_do(pd->root_node, evas_canvas3d_object_update()); 47 evas_canvas3d_object_update(pd->root_node);
48 } 48 }
49 49
50 if (pd->camera_node) 50 if (pd->camera_node)
51 { 51 {
52 eo_do(pd->camera_node, evas_canvas3d_object_update()); 52 evas_canvas3d_object_update(pd->camera_node);
53 } 53 }
54 54
55 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_UPDATED, NULL)); 55 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_UPDATED, NULL);
56} 56}
57 57
58EAPI Evas_Canvas3D_Scene * 58EAPI Evas_Canvas3D_Scene *
@@ -68,8 +68,8 @@ evas_canvas3d_scene_add(Evas *e)
68EOLIAN static Eo * 68EOLIAN static Eo *
69_evas_canvas3d_scene_eo_base_constructor(Eo *obj, Evas_Canvas3D_Scene_Data *pd) 69_evas_canvas3d_scene_eo_base_constructor(Eo *obj, Evas_Canvas3D_Scene_Data *pd)
70{ 70{
71 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 71 obj = eo_constructor(eo_super(obj, MY_CLASS));
72 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_SCENE)); 72 evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_SCENE);
73 evas_color_set(&pd->bg_color, 0.0, 0.0, 0.0, 0.0); 73 evas_color_set(&pd->bg_color, 0.0, 0.0, 0.0, 0.0);
74 pd->shadows_enabled = EINA_FALSE; 74 pd->shadows_enabled = EINA_FALSE;
75 pd->color_pick_enabled = EINA_FALSE; 75 pd->color_pick_enabled = EINA_FALSE;
@@ -101,7 +101,7 @@ _evas_canvas3d_scene_root_node_set(Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_C
101 evas_canvas3d_node_scene_root_add(node, obj); 101 evas_canvas3d_node_scene_root_add(node, obj);
102 } 102 }
103 103
104 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_ROOT_NODE, NULL)); 104 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_ROOT_NODE, NULL);
105} 105}
106 106
107EOLIAN static Evas_Canvas3D_Node * 107EOLIAN static Evas_Canvas3D_Node *
@@ -130,7 +130,7 @@ _evas_canvas3d_scene_camera_node_set(Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas
130 evas_canvas3d_node_scene_camera_add(node, obj); 130 evas_canvas3d_node_scene_camera_add(node, obj);
131 } 131 }
132 132
133 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_CAMERA_NODE, NULL)); 133 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_CAMERA_NODE, NULL);
134} 134}
135 135
136EOLIAN static Evas_Canvas3D_Node * 136EOLIAN static Evas_Canvas3D_Node *
@@ -144,7 +144,7 @@ _evas_canvas3d_scene_size_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Scene_Data *pd,
144{ 144{
145 pd->w = w; 145 pd->w = w;
146 pd->h = h; 146 pd->h = h;
147 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_SIZE, NULL)); 147 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_SIZE, NULL);
148} 148}
149 149
150EOLIAN static void 150EOLIAN static void
@@ -159,7 +159,7 @@ _evas_canvas3d_scene_background_color_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Sce
159 Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a) 159 Evas_Real r, Evas_Real g, Evas_Real b, Evas_Real a)
160{ 160{
161 evas_color_set(&pd->bg_color, r, g, b, a); 161 evas_color_set(&pd->bg_color, r, g, b, a);
162 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_BACKGROUND_COLOR, NULL)); 162 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_BACKGROUND_COLOR, NULL);
163} 163}
164 164
165EOLIAN static void 165EOLIAN static void
@@ -635,7 +635,7 @@ _evas_canvas3d_scene_pick(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Real
635 scene_data.shadows_enabled = pd->shadows_enabled; 635 scene_data.shadows_enabled = pd->shadows_enabled;
636 scene_data.camera_node = pd->camera_node; 636 scene_data.camera_node = pd->camera_node;
637 scene_data.color_pick_enabled = pd->color_pick_enabled; 637 scene_data.color_pick_enabled = pd->color_pick_enabled;
638 eo_do(obj, update_scene = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_SCENE_UPDATED)); 638 update_scene = evas_canvas3d_object_dirty_get(obj, EVAS_CANVAS3D_STATE_SCENE_UPDATED);
639 if (update_scene) 639 if (update_scene)
640 { 640 {
641 if (pd->node_mesh_colors) 641 if (pd->node_mesh_colors)
@@ -675,7 +675,7 @@ _evas_canvas3d_scene_pick(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Real
675 675
676 /*Calling callback clicked*/ 676 /*Calling callback clicked*/
677 eo_desc = eo_base_legacy_only_event_description_get("clicked,private"); 677 eo_desc = eo_base_legacy_only_event_description_get("clicked,private");
678 eo_do(picked_node, eo_event_callback_call(eo_desc, picked_node)); 678 eo_event_callback_call(picked_node, eo_desc, picked_node);
679 679
680 return EINA_TRUE; 680 return EINA_TRUE;
681 } 681 }
@@ -691,7 +691,7 @@ _evas_canvas3d_scene_pick(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Real
691 return EINA_FALSE; 691 return EINA_FALSE;
692 } 692 }
693 /* Update the scene graph. */ 693 /* Update the scene graph. */
694 eo_do(obj, evas_canvas3d_object_update()); 694 evas_canvas3d_object_update(obj);
695 pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_CANVAS3D_NODE_CLASS); 695 pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_CANVAS3D_NODE_CLASS);
696 pd_camera = eo_data_scope_get(pd_camera_node->data.camera.camera, EVAS_CANVAS3D_CAMERA_CLASS); 696 pd_camera = eo_data_scope_get(pd_camera_node->data.camera.camera, EVAS_CANVAS3D_CAMERA_CLASS);
697 eina_matrix4_multiply(&data.matrix_vp, 697 eina_matrix4_multiply(&data.matrix_vp,
@@ -714,7 +714,7 @@ _evas_canvas3d_scene_pick(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Real
714 714
715 /*Calling callback clicked*/ 715 /*Calling callback clicked*/
716 eo_desc = eo_base_legacy_only_event_description_get("clicked,private"); 716 eo_desc = eo_base_legacy_only_event_description_get("clicked,private");
717 eo_do(data.node, eo_event_callback_call(eo_desc, data.node)); 717 eo_event_callback_call(data.node, eo_desc, data.node);
718 718
719 return EINA_TRUE; 719 return EINA_TRUE;
720} 720}
@@ -737,7 +737,7 @@ _evas_canvas3d_scene_exist(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Rea
737 data.t = 0.0; 737 data.t = 0.0;
738 738
739 /* Update the scene graph. */ 739 /* Update the scene graph. */
740 eo_do(obj, evas_canvas3d_object_update()); 740 evas_canvas3d_object_update(obj);
741 pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_CANVAS3D_NODE_CLASS); 741 pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_CANVAS3D_NODE_CLASS);
742 pd_camera = eo_data_scope_get(pd_camera_node->data.camera.camera, EVAS_CANVAS3D_CAMERA_CLASS); 742 pd_camera = eo_data_scope_get(pd_camera_node->data.camera.camera, EVAS_CANVAS3D_CAMERA_CLASS);
743 eina_matrix4_multiply(&data.matrix_vp, 743 eina_matrix4_multiply(&data.matrix_vp,
@@ -763,18 +763,18 @@ _evas_canvas3d_scene_pick_member_list_get(const Eo *obj, Evas_Canvas3D_Scene_Dat
763 Eina_Bool pick = EINA_FALSE; 763 Eina_Bool pick = EINA_FALSE;
764 764
765 /* Check pick for given scene. */ 765 /* Check pick for given scene. */
766 eo_do(obj, pick = evas_canvas3d_scene_pick(x, y, NULL, NULL, NULL, NULL)); 766 pick = evas_canvas3d_scene_pick(obj, x, y, NULL, NULL, NULL, NULL);
767 767
768 if (!pick) 768 if (!pick)
769 return NULL; 769 return NULL;
770 770
771 /* Get all members from root node. */ 771 /* Get all members from root node. */
772 eo_do(pd->root_node, list = evas_canvas3d_node_member_list_get()); 772 list = evas_canvas3d_node_member_list_get(pd->root_node);
773 773
774 EINA_LIST_FOREACH(list, l, node) 774 EINA_LIST_FOREACH(list, l, node)
775 { 775 {
776 Evas_Canvas3D_Node *exists; 776 Evas_Canvas3D_Node *exists;
777 if (eo_do_ret(obj, exists, evas_canvas3d_scene_exist(x, y, node))) 777 if (evas_canvas3d_scene_exist(obj, x, y, node))
778 picked_nodes = eina_list_append(picked_nodes, l); 778 picked_nodes = eina_list_append(picked_nodes, l);
779 } 779 }
780 780
@@ -791,7 +791,7 @@ EOLIAN static void
791_evas_canvas3d_scene_shadows_enable_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Scene_Data *pd, Eina_Bool _shadows_enabled) 791_evas_canvas3d_scene_shadows_enable_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Scene_Data *pd, Eina_Bool _shadows_enabled)
792{ 792{
793 pd->shadows_enabled = _shadows_enabled; 793 pd->shadows_enabled = _shadows_enabled;
794 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_SHADOWS_ENABLED, NULL)); 794 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_SHADOWS_ENABLED, NULL);
795} 795}
796 796
797EOLIAN static Eina_Bool 797EOLIAN static Eina_Bool
@@ -806,7 +806,7 @@ _evas_canvas3d_scene_color_pick_enable_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Sc
806 if (pd->color_pick_enabled != _enabled) 806 if (pd->color_pick_enabled != _enabled)
807 pd->color_pick_enabled = _enabled; 807 pd->color_pick_enabled = _enabled;
808 808
809 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_UPDATED, NULL)); 809 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_UPDATED, NULL);
810 return EINA_TRUE; 810 return EINA_TRUE;
811} 811}
812 812
@@ -816,7 +816,7 @@ _evas_canvas3d_scene_shadows_depth_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Scene_
816{ 816{
817 pd->depth_offset = depth_offset; 817 pd->depth_offset = depth_offset;
818 pd->depth_constant = depth_constant; 818 pd->depth_constant = depth_constant;
819 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_SHADOWS_DEPTH, NULL)); 819 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_SHADOWS_DEPTH, NULL);
820} 820}
821 821
822EOLIAN static void 822EOLIAN static void
diff --git a/src/lib/evas/canvas/evas_canvas3d_texture.c b/src/lib/evas/canvas/evas_canvas3d_texture.c
index e01762d..664de1c 100644
--- a/src/lib/evas/canvas/evas_canvas3d_texture.c
+++ b/src/lib/evas/canvas/evas_canvas3d_texture.c
@@ -54,7 +54,7 @@ _texture_proxy_subrender(Evas_Canvas3D_Texture *obj)
54{ 54{
55 /* Code taken from _proxy_subrender() in file evas_object_image.c */ 55 /* Code taken from _proxy_subrender() in file evas_object_image.c */
56 Eo *evas = NULL; 56 Eo *evas = NULL;
57 eo_do(obj, evas = evas_common_evas_get()); 57 evas = evas_common_evas_get(obj);
58 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 58 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
59 Evas_Canvas3D_Texture_Data *pd = eo_data_scope_get(obj, MY_CLASS); 59 Evas_Canvas3D_Texture_Data *pd = eo_data_scope_get(obj, MY_CLASS);
60 Evas_Object_Protected_Data *source; 60 Evas_Object_Protected_Data *source;
@@ -165,7 +165,7 @@ _texture_fini(Evas_Canvas3D_Texture *obj)
165 void *data = NULL; 165 void *data = NULL;
166 Evas_Canvas3D_Material_Data *material = NULL; 166 Evas_Canvas3D_Material_Data *material = NULL;
167 167
168 eo_do(obj, evas = evas_common_evas_get()); 168 evas = evas_common_evas_get(obj);
169 Evas_Canvas3D_Texture_Data *pd = eo_data_scope_get(obj, MY_CLASS); 169 Evas_Canvas3D_Texture_Data *pd = eo_data_scope_get(obj, MY_CLASS);
170 170
171 if (pd->engine_data) 171 if (pd->engine_data)
@@ -206,7 +206,7 @@ _texture_material_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *k
206 void *data EINA_UNUSED, void *fdata) 206 void *data EINA_UNUSED, void *fdata)
207{ 207{
208 Evas_Canvas3D_Material *m = *(Evas_Canvas3D_Material **)key; 208 Evas_Canvas3D_Material *m = *(Evas_Canvas3D_Material **)key;
209 eo_do(m, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MATERIAL_TEXTURE, (Evas_Canvas3D_Object *)fdata)); 209 evas_canvas3d_object_change(m, EVAS_CANVAS3D_STATE_MATERIAL_TEXTURE, (Evas_Canvas3D_Object *)fdata);
210 return EINA_TRUE; 210 return EINA_TRUE;
211} 211}
212 212
@@ -224,7 +224,7 @@ _evas_canvas3d_texture_evas_canvas3d_object_update_notify(Eo *obj, Evas_Canvas3D
224 if (pd->source) 224 if (pd->source)
225 { 225 {
226 Eo *evas = NULL; 226 Eo *evas = NULL;
227 eo_do(obj, evas = evas_common_evas_get()); 227 evas = evas_common_evas_get(obj);
228 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 228 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
229 Evas_Object_Protected_Data *src = eo_data_scope_get(pd->source, EVAS_OBJECT_CLASS); 229 Evas_Object_Protected_Data *src = eo_data_scope_get(pd->source, EVAS_OBJECT_CLASS);
230 230
@@ -321,10 +321,10 @@ evas_canvas3d_texture_add(Evas *e)
321EOLIAN static Eo * 321EOLIAN static Eo *
322_evas_canvas3d_texture_eo_base_constructor(Eo *obj, Evas_Canvas3D_Texture_Data *pd EINA_UNUSED) 322_evas_canvas3d_texture_eo_base_constructor(Eo *obj, Evas_Canvas3D_Texture_Data *pd EINA_UNUSED)
323{ 323{
324 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 324 obj = eo_constructor(eo_super(obj, MY_CLASS));
325 pd->atlas_enable = EINA_TRUE; 325 pd->atlas_enable = EINA_TRUE;
326 326
327 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_TEXTURE)); 327 evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_TEXTURE);
328 328
329 return obj; 329 return obj;
330} 330}
@@ -333,7 +333,7 @@ EOLIAN static void
333_evas_canvas3d_texture_eo_base_destructor(Eo *obj, Evas_Canvas3D_Texture_Data *pd EINA_UNUSED) 333_evas_canvas3d_texture_eo_base_destructor(Eo *obj, Evas_Canvas3D_Texture_Data *pd EINA_UNUSED)
334{ 334{
335 _texture_fini(obj); 335 _texture_fini(obj);
336 eo_do_super(obj, MY_CLASS, eo_destructor()); 336 eo_destructor(eo_super(obj, MY_CLASS));
337} 337}
338 338
339EOLIAN static void 339EOLIAN static void
@@ -343,7 +343,7 @@ _evas_canvas3d_texture_data_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd,
343{ 343{
344 Eo *evas = NULL; 344 Eo *evas = NULL;
345 void *image = NULL; 345 void *image = NULL;
346 eo_do(obj, evas = evas_common_evas_get()); 346 evas = evas_common_evas_get(obj);
347 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 347 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
348 348
349 if (!pd->engine_data && e->engine.func->texture_new) 349 if (!pd->engine_data && e->engine.func->texture_new)
@@ -366,7 +366,7 @@ _evas_canvas3d_texture_data_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd,
366 pd->engine_data, 366 pd->engine_data,
367 image); 367 image);
368 e->engine.func->image_free(e->engine.data.output, image); 368 e->engine.func->image_free(e->engine.data.output, image);
369 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL)); 369 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL);
370} 370}
371 371
372EOLIAN static void 372EOLIAN static void
@@ -378,7 +378,7 @@ _evas_canvas3d_texture_file_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, const c
378 Eo *evas = NULL; 378 Eo *evas = NULL;
379 void *image; 379 void *image;
380 380
381 eo_do(obj, evas = evas_common_evas_get()); 381 evas = evas_common_evas_get(obj);
382 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 382 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
383 383
384 if (!pd->engine_data && e->engine.func->texture_new) 384 if (!pd->engine_data && e->engine.func->texture_new)
@@ -399,14 +399,14 @@ _evas_canvas3d_texture_file_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, const c
399 image); 399 image);
400 400
401 e->engine.func->image_free(e->engine.data.output, image); 401 e->engine.func->image_free(e->engine.data.output, image);
402 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL)); 402 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL);
403} 403}
404 404
405EAPI void 405EAPI void
406_evas_canvas3d_texture_source_set(Eo *obj , Evas_Canvas3D_Texture_Data *pd, Evas_Object *source) 406_evas_canvas3d_texture_source_set(Eo *obj , Evas_Canvas3D_Texture_Data *pd, Evas_Object *source)
407{ 407{
408 Eo *evas = NULL; 408 Eo *evas = NULL;
409 eo_do(obj, evas = evas_common_evas_get()); 409 evas = evas_common_evas_get(obj);
410 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 410 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
411 Evas_Object_Protected_Data *src; 411 Evas_Object_Protected_Data *src;
412 412
@@ -441,7 +441,7 @@ _evas_canvas3d_texture_source_set(Eo *obj , Evas_Canvas3D_Texture_Data *pd, Evas
441 pd->engine_data = e->engine.func->texture_new(e->engine.data.output, pd->atlas_enable); 441 pd->engine_data = e->engine.func->texture_new(e->engine.data.output, pd->atlas_enable);
442 442
443 _texture_proxy_set(obj, source, src); 443 _texture_proxy_set(obj, source, src);
444 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL)); 444 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL);
445} 445}
446 446
447EOLIAN static void 447EOLIAN static void
@@ -483,7 +483,7 @@ _evas_canvas3d_texture_color_format_get(const Eo *obj EINA_UNUSED, Evas_Canvas3D
483{ 483{
484 Evas_Colorspace format = -1; 484 Evas_Colorspace format = -1;
485 Eo *evas = NULL; 485 Eo *evas = NULL;
486 eo_do(obj, evas = evas_common_evas_get()); 486 evas = evas_common_evas_get(obj);
487 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 487 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
488 488
489 if (e->engine.func->image_colorspace_get && 489 if (e->engine.func->image_colorspace_get &&
@@ -502,7 +502,7 @@ EOLIAN static void
502_evas_canvas3d_texture_size_get(const Eo *obj, Evas_Canvas3D_Texture_Data *pd, int *w, int *h) 502_evas_canvas3d_texture_size_get(const Eo *obj, Evas_Canvas3D_Texture_Data *pd, int *w, int *h)
503{ 503{
504 Eo *evas = NULL; 504 Eo *evas = NULL;
505 eo_do(obj, evas = evas_common_evas_get()); 505 evas = evas_common_evas_get(obj);
506 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 506 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
507 if (e->engine.func->texture_size_get) 507 if (e->engine.func->texture_size_get)
508 { 508 {
@@ -515,21 +515,21 @@ EOLIAN static void
515_evas_canvas3d_texture_wrap_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Wrap_Mode s, Evas_Canvas3D_Wrap_Mode t) 515_evas_canvas3d_texture_wrap_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Wrap_Mode s, Evas_Canvas3D_Wrap_Mode t)
516{ 516{
517 Eo *evas = NULL; 517 Eo *evas = NULL;
518 eo_do(obj, evas = evas_common_evas_get()); 518 evas = evas_common_evas_get(obj);
519 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 519 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
520 if (e->engine.func->texture_wrap_set) 520 if (e->engine.func->texture_wrap_set)
521 { 521 {
522 e->engine.func->texture_wrap_set(e->engine.data.output, 522 e->engine.func->texture_wrap_set(e->engine.data.output,
523 pd->engine_data, s, t); 523 pd->engine_data, s, t);
524 } 524 }
525 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_WRAP, NULL)); 525 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_WRAP, NULL);
526} 526}
527 527
528EOLIAN static void 528EOLIAN static void
529_evas_canvas3d_texture_wrap_get(Eo *obj, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Wrap_Mode *s, Evas_Canvas3D_Wrap_Mode *t) 529_evas_canvas3d_texture_wrap_get(Eo *obj, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Wrap_Mode *s, Evas_Canvas3D_Wrap_Mode *t)
530{ 530{
531 Eo *evas = NULL; 531 Eo *evas = NULL;
532 eo_do(obj, evas = evas_common_evas_get()); 532 evas = evas_common_evas_get(obj);
533 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 533 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
534 if (e->engine.func->texture_wrap_set) 534 if (e->engine.func->texture_wrap_set)
535 { 535 {
@@ -542,21 +542,21 @@ EOLIAN static void
542_evas_canvas3d_texture_filter_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Texture_Filter min, Evas_Canvas3D_Texture_Filter mag) 542_evas_canvas3d_texture_filter_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Texture_Filter min, Evas_Canvas3D_Texture_Filter mag)
543{ 543{
544 Eo *evas = NULL; 544 Eo *evas = NULL;
545 eo_do(obj, evas = evas_common_evas_get()); 545 evas = evas_common_evas_get(obj);
546 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 546 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
547 if (e->engine.func->texture_filter_set) 547 if (e->engine.func->texture_filter_set)
548 { 548 {
549 e->engine.func->texture_filter_set(e->engine.data.output, 549 e->engine.func->texture_filter_set(e->engine.data.output,
550 pd->engine_data, min, mag); 550 pd->engine_data, min, mag);
551 } 551 }
552 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_FILTER, NULL)); 552 evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_FILTER, NULL);
553} 553}
554 554
555EOLIAN static void 555EOLIAN static void
556_evas_canvas3d_texture_filter_get(const Eo *obj EINA_UNUSED, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Texture_Filter *min, Evas_Canvas3D_Texture_Filter *mag) 556_evas_canvas3d_texture_filter_get(const Eo *obj EINA_UNUSED, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Texture_Filter *min, Evas_Canvas3D_Texture_Filter *mag)
557{ 557{
558 Eo *evas = NULL; 558 Eo *evas = NULL;
559 eo_do(obj, evas = evas_common_evas_get()); 559 evas = evas_common_evas_get(obj);
560 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 560 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
561 if (e->engine.func->texture_filter_get) 561 if (e->engine.func->texture_filter_get)
562 { 562 {
diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c
index 48bfd5c..f1c5e4b 100644
--- a/src/lib/evas/canvas/evas_clip.c
+++ b/src/lib/evas/canvas/evas_clip.c
@@ -279,7 +279,7 @@ _evas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object *
279 } 279 }
280 if (obj->is_smart) 280 if (obj->is_smart)
281 { 281 {
282 eo_do(eo_obj, evas_obj_smart_clip_set(eo_clip)); 282 evas_obj_smart_clip_set(eo_obj, eo_clip);
283 } 283 }
284 if (obj->cur->clipper) 284 if (obj->cur->clipper)
285 { 285 {
@@ -327,7 +327,7 @@ _evas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object *
327 state_write->clipper = NULL; 327 state_write->clipper = NULL;
328 EINA_COW_STATE_WRITE_END(obj, state_write, cur); 328 EINA_COW_STATE_WRITE_END(obj, state_write, cur);
329 if (obj->prev->clipper != old_clip) 329 if (obj->prev->clipper != old_clip)
330 eo_do(old_clip->object, eo_event_callback_del(EO_BASE_EVENT_DEL, _clipper_del_cb, eo_obj)); 330 eo_event_callback_del(old_clip->object, EO_BASE_EVENT_DEL, _clipper_del_cb, eo_obj);
331 } 331 }
332 332
333 /* image object clipper */ 333 /* image object clipper */
@@ -359,7 +359,7 @@ _evas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object *
359 state_write->clipper = clip; 359 state_write->clipper = clip;
360 EINA_COW_STATE_WRITE_END(obj, state_write, cur); 360 EINA_COW_STATE_WRITE_END(obj, state_write, cur);
361 if (obj->prev->clipper != clip) 361 if (obj->prev->clipper != clip)
362 eo_do(clip->object, eo_event_callback_add(EO_BASE_EVENT_DEL, _clipper_del_cb, eo_obj)); 362 eo_event_callback_add(clip->object, EO_BASE_EVENT_DEL, _clipper_del_cb, eo_obj);
363 363
364 clip->clip.cache_clipees_answer = eina_list_free(clip->clip.cache_clipees_answer); 364 clip->clip.cache_clipees_answer = eina_list_free(clip->clip.cache_clipees_answer);
365 clip->clip.clipees = eina_list_append(clip->clip.clipees, obj); 365 clip->clip.clipees = eina_list_append(clip->clip.clipees, obj);
@@ -413,7 +413,7 @@ _evas_object_clip_unset(Eo *eo_obj, Evas_Object_Protected_Data *obj)
413 if (evas_object_intercept_call_clip_unset(eo_obj, obj)) return; 413 if (evas_object_intercept_call_clip_unset(eo_obj, obj)) return;
414 if (obj->is_smart) 414 if (obj->is_smart)
415 { 415 {
416 eo_do(eo_obj, evas_obj_smart_clip_unset()); 416 evas_obj_smart_clip_unset(eo_obj);
417 } 417 }
418 if (obj->cur->clipper) 418 if (obj->cur->clipper)
419 { 419 {
@@ -456,7 +456,7 @@ _evas_object_clip_unset(Eo *eo_obj, Evas_Object_Protected_Data *obj)
456 state_write->clipper = NULL; 456 state_write->clipper = NULL;
457 EINA_COW_STATE_WRITE_END(obj, state_write, cur); 457 EINA_COW_STATE_WRITE_END(obj, state_write, cur);
458 if (obj->prev->clipper != old_clip) 458 if (obj->prev->clipper != old_clip)
459 eo_do(old_clip->object, eo_event_callback_del(EO_BASE_EVENT_DEL, _clipper_del_cb, eo_obj)); 459 eo_event_callback_del(old_clip->object, EO_BASE_EVENT_DEL, _clipper_del_cb, eo_obj);
460 } 460 }
461 461
462 evas_object_change(eo_obj, obj); 462 evas_object_change(eo_obj, obj);
@@ -510,7 +510,7 @@ _evas_object_clip_prev_reset(Evas_Object_Protected_Data *obj, Eina_Bool cur_prev
510 EINA_COW_STATE_WRITE_END(obj, state_write, prev); 510 EINA_COW_STATE_WRITE_END(obj, state_write, prev);
511 } 511 }
512 if (clip != obj->cur->clipper) 512 if (clip != obj->cur->clipper)
513 eo_do(clip->object, eo_event_callback_del(EO_BASE_EVENT_DEL, _clipper_del_cb, obj->object)); 513 eo_event_callback_del(clip->object, EO_BASE_EVENT_DEL, _clipper_del_cb, obj->object);
514 } 514 }
515} 515}
516 516
diff --git a/src/lib/evas/canvas/evas_data.c b/src/lib/evas/canvas/evas_data.c
index 38bc537..e991e06 100644
--- a/src/lib/evas/canvas/evas_data.c
+++ b/src/lib/evas/canvas/evas_data.c
@@ -8,7 +8,7 @@ evas_object_data_set(Evas_Object *obj, const char *key, const void *data)
8 MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ); 8 MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
9 return; 9 return;
10 MAGIC_CHECK_END(); 10 MAGIC_CHECK_END();
11 eo_do(obj, eo_key_data_set(key, data)); 11 eo_key_data_set(obj, key, data);
12} 12}
13 13
14EAPI void * 14EAPI void *
@@ -18,7 +18,7 @@ evas_object_data_get(const Evas_Object *obj, const char *key)
18 return NULL; 18 return NULL;
19 MAGIC_CHECK_END(); 19 MAGIC_CHECK_END();
20 void *data = NULL; 20 void *data = NULL;
21 eo_do((Evas_Object *)obj, data = eo_key_data_get(key)); 21 data = eo_key_data_get((Evas_Object *)obj, key);
22 return data; 22 return data;
23} 23}
24 24
@@ -29,6 +29,7 @@ evas_object_data_del(Evas_Object *obj, const char *key)
29 return NULL; 29 return NULL;
30 MAGIC_CHECK_END(); 30 MAGIC_CHECK_END();
31 void *data = NULL; 31 void *data = NULL;
32 eo_do(obj, data = eo_key_data_get(key), eo_key_data_del(key)); 32 data = eo_key_data_get(obj, key);
33 eo_key_data_del(obj, key);
33 return data; 34 return data;
34} 35}
diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c
index 0ef5e91..08bc9bb 100644
--- a/src/lib/evas/canvas/evas_events.c
+++ b/src/lib/evas/canvas/evas_events.c
@@ -939,7 +939,7 @@ evas_event_freeze(Evas *eo_e)
939 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS); 939 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS);
940 return; 940 return;
941 MAGIC_CHECK_END(); 941 MAGIC_CHECK_END();
942 eo_do(eo_e, eo_event_freeze()); 942 eo_event_freeze(eo_e);
943} 943}
944 944
945EAPI void 945EAPI void
@@ -948,13 +948,13 @@ evas_event_thaw(Evas *eo_e)
948 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS); 948 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS);
949 return; 949 return;
950 MAGIC_CHECK_END(); 950 MAGIC_CHECK_END();
951 eo_do(eo_e, eo_event_thaw()); 951 eo_event_thaw(eo_e);
952} 952}
953 953
954EOLIAN void 954EOLIAN void
955_evas_canvas_eo_base_event_freeze(Eo *eo_e, Evas_Public_Data *e) 955_evas_canvas_eo_base_event_freeze(Eo *eo_e, Evas_Public_Data *e)
956{ 956{
957 eo_do_super(eo_e, EVAS_CANVAS_CLASS, eo_event_freeze()); 957 eo_event_freeze(eo_super(eo_e, EVAS_CANVAS_CLASS));
958 e->is_frozen = EINA_TRUE; 958 e->is_frozen = EINA_TRUE;
959} 959}
960 960
@@ -962,10 +962,8 @@ EOLIAN void
962_evas_canvas_eo_base_event_thaw(Eo *eo_e, Evas_Public_Data *e) 962_evas_canvas_eo_base_event_thaw(Eo *eo_e, Evas_Public_Data *e)
963{ 963{
964 int fcount = -1; 964 int fcount = -1;
965 eo_do_super(eo_e, EVAS_CANVAS_CLASS, 965 eo_event_thaw(eo_super(eo_e, EVAS_CANVAS_CLASS));
966 eo_event_thaw()); 966 fcount = eo_event_freeze_count_get(eo_super(eo_e, EVAS_CANVAS_CLASS));
967 eo_do_super(eo_e, EVAS_CANVAS_CLASS,
968 fcount = eo_event_freeze_count_get());
969 if (0 == fcount) 967 if (0 == fcount)
970 { 968 {
971 Evas_Layer *lay; 969 Evas_Layer *lay;
@@ -993,7 +991,7 @@ evas_event_freeze_get(const Evas *eo_e)
993 return 0; 991 return 0;
994 MAGIC_CHECK_END(); 992 MAGIC_CHECK_END();
995 int ret = 0; 993 int ret = 0;
996 eo_do((Eo *)eo_e, ret = eo_event_freeze_count_get()); 994 ret = eo_event_freeze_count_get((Eo *)eo_e);
997 return ret; 995 return ret;
998} 996}
999 997
diff --git a/src/lib/evas/canvas/evas_filter_mixin.c b/src/lib/evas/canvas/evas_filter_mixin.c
index 2322fec..0933665 100644
--- a/src/lib/evas/canvas/evas_filter_mixin.c
+++ b/src/lib/evas/canvas/evas_filter_mixin.c
@@ -54,9 +54,8 @@ _filter_end_sync(Evas_Filter_Context *ctx, Evas_Object_Protected_Data *obj,
54 if (!success) 54 if (!success)
55 { 55 {
56 ERR("Filter failed at runtime!"); 56 ERR("Filter failed at runtime!");
57 eo_do(eo_obj, 57 evas_filter_invalid_set(eo_obj, EINA_TRUE);
58 evas_filter_invalid_set(EINA_TRUE); 58 evas_filter_dirty(eo_obj);
59 evas_filter_dirty());
60 evas_object_change(eo_obj, obj); 59 evas_object_change(eo_obj, obj);
61 evas_object_clip_dirty(eo_obj, obj); 60 evas_object_clip_dirty(eo_obj, obj);
62 evas_object_coords_recalc(eo_obj, obj); 61 evas_object_coords_recalc(eo_obj, obj);
@@ -272,8 +271,7 @@ evas_filter_object_render(Eo *eo_obj, Evas_Object_Protected_Data *obj,
272 { 271 {
273 // Post render callback is not required anymore 272 // Post render callback is not required anymore
274 Evas *e = obj->layer->evas->evas; 273 Evas *e = obj->layer->evas->evas;
275 eo_do(e, eo_event_callback_del(EVAS_CANVAS_EVENT_RENDER_POST, 274 eo_event_callback_del(e, EVAS_CANVAS_EVENT_RENDER_POST, _render_post_cb, eo_obj);
276 _render_post_cb, eo_obj));
277 pd->has_cb = EINA_FALSE; 275 pd->has_cb = EINA_FALSE;
278 } 276 }
279 277
@@ -324,7 +322,7 @@ evas_filter_object_render(Eo *eo_obj, Evas_Object_Protected_Data *obj,
324 322
325 // Request rendering from the object itself (child class) 323 // Request rendering from the object itself (child class)
326 evas_filter_program_padding_get(pd->data->chain, &l, &r, &t, &b); 324 evas_filter_program_padding_get(pd->data->chain, &l, &r, &t, &b);
327 eo_do(eo_obj, ok = evas_filter_input_render(filter, drawctx, l, r, t, b, do_async)); 325 ok = evas_filter_input_render(eo_obj, filter, drawctx, l, r, t, b, do_async);
328 if (!ok) ERR("Filter input render failed."); 326 if (!ok) ERR("Filter input render failed.");
329 327
330 ENFN->context_free(ENDT, drawctx); 328 ENFN->context_free(ENDT, drawctx);
@@ -333,8 +331,7 @@ evas_filter_object_render(Eo *eo_obj, Evas_Object_Protected_Data *obj,
333 if (do_async && !pd->has_cb) 331 if (do_async && !pd->has_cb)
334 { 332 {
335 Evas *e = obj->layer->evas->evas; 333 Evas *e = obj->layer->evas->evas;
336 eo_do(e, eo_event_callback_add(EVAS_CANVAS_EVENT_RENDER_POST, 334 eo_event_callback_add(e, EVAS_CANVAS_EVENT_RENDER_POST, _render_post_cb, eo_obj);
337 _render_post_cb, eo_obj));
338 pd->has_cb = EINA_TRUE; 335 pd->has_cb = EINA_TRUE;
339 } 336 }
340 evas_filter_context_post_run_callback_set(filter, _filter_cb, eo_obj); 337 evas_filter_context_post_run_callback_set(filter, _filter_cb, eo_obj);
@@ -382,7 +379,7 @@ _evas_filter_efl_gfx_filter_filter_program_set(Eo *eo_obj, Evas_Filter_Data *pd,
382 eina_stringshare_replace(&fcow->name, name); 379 eina_stringshare_replace(&fcow->name, name);
383 if (code) 380 if (code)
384 { 381 {
385 eo_do(eo_obj, alpha = evas_filter_input_alpha()); 382 alpha = evas_filter_input_alpha(eo_obj);
386 pgm = evas_filter_program_new(fcow->name, alpha); 383 pgm = evas_filter_program_new(fcow->name, alpha);
387 evas_filter_program_source_set_all(pgm, fcow->sources); 384 evas_filter_program_source_set_all(pgm, fcow->sources);
388 evas_filter_program_data_set_all(pgm, fcow->data); 385 evas_filter_program_data_set_all(pgm, fcow->data);
@@ -405,7 +402,7 @@ _evas_filter_efl_gfx_filter_filter_program_set(Eo *eo_obj, Evas_Filter_Data *pd,
405 FCOW_END(fcow, pd); 402 FCOW_END(fcow, pd);
406 403
407 // Update object 404 // Update object
408 eo_do(eo_obj, evas_filter_dirty()); 405 evas_filter_dirty(eo_obj);
409 evas_object_change(eo_obj, obj); 406 evas_object_change(eo_obj, obj);
410 evas_object_clip_dirty(eo_obj, obj); 407 evas_object_clip_dirty(eo_obj, obj);
411 evas_object_coords_recalc(eo_obj, obj); 408 evas_object_coords_recalc(eo_obj, obj);
@@ -499,7 +496,7 @@ update:
499 FCOW_END(fcow, pd); 496 FCOW_END(fcow, pd);
500 } 497 }
501 498
502 eo_do(eo_obj, evas_filter_dirty()); 499 evas_filter_dirty(eo_obj);
503 evas_object_change(eo_obj, obj); 500 evas_object_change(eo_obj, obj);
504 evas_object_clip_dirty(eo_obj, obj); 501 evas_object_clip_dirty(eo_obj, obj);
505 evas_object_coords_recalc(eo_obj, obj); 502 evas_object_coords_recalc(eo_obj, obj);
@@ -546,7 +543,7 @@ _evas_filter_efl_gfx_filter_filter_state_set(Eo *eo_obj, Evas_Filter_Data *pd,
546 } 543 }
547 544
548 // Mark as changed 545 // Mark as changed
549 eo_do(eo_obj, evas_filter_dirty()); 546 evas_filter_dirty(eo_obj);
550 evas_object_change(eo_obj, obj); 547 evas_object_change(eo_obj, obj);
551 evas_object_clip_dirty(eo_obj, obj); 548 evas_object_clip_dirty(eo_obj, obj);
552 evas_object_coords_recalc(eo_obj, obj); 549 evas_object_coords_recalc(eo_obj, obj);
@@ -609,7 +606,7 @@ _evas_filter_eo_base_constructor(Eo *eo_obj, Evas_Filter_Data *pd)
609{ 606{
610 Eo *obj = NULL; 607 Eo *obj = NULL;
611 608
612 eo_do_super(eo_obj, MY_CLASS, obj = eo_constructor()); 609 obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
613 pd->data = eina_cow_alloc(evas_object_filter_cow); 610 pd->data = eina_cow_alloc(evas_object_filter_cow);
614 SLKI(pd->lck); 611 SLKI(pd->lck);
615 612
@@ -650,12 +647,11 @@ finish:
650 if (pd->has_cb) 647 if (pd->has_cb)
651 { 648 {
652 Evas *e = obj->layer->evas->evas; 649 Evas *e = obj->layer->evas->evas;
653 eo_do(e, eo_event_callback_del(EVAS_CANVAS_EVENT_RENDER_POST, 650 eo_event_callback_del(e, EVAS_CANVAS_EVENT_RENDER_POST, _render_post_cb, eo_obj);
654 _render_post_cb, eo_obj));
655 } 651 }
656 SLKD(pd->lck); 652 SLKD(pd->lck);
657 653
658 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 654 eo_destructor(eo_super(eo_obj, MY_CLASS));
659} 655}
660 656
661EOLIAN static void 657EOLIAN static void
diff --git a/src/lib/evas/canvas/evas_focus.c b/src/lib/evas/canvas/evas_focus.c
index 880791b..daa76ae 100644
--- a/src/lib/evas/canvas/evas_focus.c
+++ b/src/lib/evas/canvas/evas_focus.c
@@ -24,7 +24,7 @@ _evas_object_focus_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Eina_Bool fo
24 if (focus) 24 if (focus)
25 { 25 {
26 if (obj->layer->evas->focused) 26 if (obj->layer->evas->focused)
27 eo_do(obj->layer->evas->focused, evas_obj_focus_set(0)); 27 evas_obj_focus_set(obj->layer->evas->focused, 0);
28 28
29 if (obj->layer->evas->focused) goto end; 29 if (obj->layer->evas->focused) goto end;
30 obj->focused = 1; 30 obj->focused = 1;
diff --git a/src/lib/evas/canvas/evas_layer.c b/src/lib/evas/canvas/evas_layer.c
index 3731078..8412bcc 100644
--- a/src/lib/evas/canvas/evas_layer.c
+++ b/src/lib/evas/canvas/evas_layer.c
@@ -181,7 +181,7 @@ _evas_object_layer_set_child(Evas_Object *eo_obj, Evas_Object *par, short l)
181EAPI void 181EAPI void
182evas_object_layer_set(Evas_Object *obj, short l) 182evas_object_layer_set(Evas_Object *obj, short l)
183{ 183{
184 eo_do((Evas_Object *)obj, efl_gfx_stack_layer_set(l)); 184 efl_gfx_stack_layer_set((Evas_Object *)obj, l);
185} 185}
186 186
187EOLIAN void 187EOLIAN void
@@ -249,7 +249,7 @@ evas_object_layer_get(const Evas_Object *obj)
249{ 249{
250 short ret; 250 short ret;
251 251
252 return eo_do_ret((Evas_Object *)obj, ret, efl_gfx_stack_layer_get()); 252 return efl_gfx_stack_layer_get((Evas_Object *)obj);
253} 253}
254 254
255EOLIAN short 255EOLIAN short
diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index bdafc31..38e901a 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -158,7 +158,7 @@ evas_new(void)
158EOLIAN static Eo * 158EOLIAN static Eo *
159_evas_canvas_eo_base_constructor(Eo *eo_obj, Evas_Public_Data *e) 159_evas_canvas_eo_base_constructor(Eo *eo_obj, Evas_Public_Data *e)
160{ 160{
161 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 161 eo_obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
162 162
163 e->evas = eo_obj; 163 e->evas = eo_obj;
164 e->output.render_method = RENDER_METHOD_INVALID; 164 e->output.render_method = RENDER_METHOD_INVALID;
@@ -320,7 +320,7 @@ _evas_canvas_eo_base_destructor(Eo *eo_e, Evas_Public_Data *e)
320 eina_spinlock_free(&(e->render.lock)); 320 eina_spinlock_free(&(e->render.lock));
321 321
322 e->magic = 0; 322 e->magic = 0;
323 eo_do_super(eo_e, MY_CLASS, eo_destructor()); 323 eo_destructor(eo_super(eo_e, MY_CLASS));
324} 324}
325 325
326EOLIAN static void 326EOLIAN static void
diff --git a/src/lib/evas/canvas/evas_object_box.c b/src/lib/evas/canvas/evas_object_box.c
index 3b664c1..55e7ca5 100644
--- a/src/lib/evas/canvas/evas_object_box.c
+++ b/src/lib/evas/canvas/evas_object_box.c
@@ -125,7 +125,7 @@ _on_child_del(void *data, const Eo_Event *event)
125 Evas_Object *box = data; 125 Evas_Object *box = data;
126 126
127 Evas_Object *ret = NULL; 127 Evas_Object *ret = NULL;
128 eo_do(box, ret = evas_obj_box_internal_remove(event->obj)); 128 ret = evas_obj_box_internal_remove(box, event->obj);
129 if (!ret) 129 if (!ret)
130 ERR("child removal failed"); 130 ERR("child removal failed");
131 evas_object_smart_changed(box); 131 evas_object_smart_changed(box);
@@ -157,7 +157,7 @@ _evas_object_box_option_new(Evas_Object *o, Evas_Object_Box_Data *priv EINA_UNUS
157{ 157{
158 Evas_Object_Box_Option *opt = NULL; 158 Evas_Object_Box_Option *opt = NULL;
159 159
160 eo_do(o, opt = evas_obj_box_internal_option_new(child)); 160 opt = evas_obj_box_internal_option_new(o, child);
161 if (!opt) 161 if (!opt)
162 { 162 {
163 ERR("option_new failed"); 163 ERR("option_new failed");
@@ -177,7 +177,7 @@ static const Eo_Callback_Array_Item evas_object_box_callbacks[] = {
177static void 177static void
178_evas_object_box_child_callbacks_unregister(Evas_Object *obj, Evas_Object *parent) 178_evas_object_box_child_callbacks_unregister(Evas_Object *obj, Evas_Object *parent)
179{ 179{
180 eo_do(obj, eo_event_callback_array_del(evas_object_box_callbacks, parent)); 180 eo_event_callback_array_del(obj, evas_object_box_callbacks, parent);
181} 181}
182 182
183static Evas_Object_Box_Option * 183static Evas_Object_Box_Option *
@@ -185,7 +185,7 @@ _evas_object_box_option_callbacks_register(Evas_Object *o, Evas_Object_Box_Data
185{ 185{
186 Evas_Object *obj = opt->obj; 186 Evas_Object *obj = opt->obj;
187 187
188 eo_do(obj, eo_event_callback_array_add(evas_object_box_callbacks, o)); 188 eo_event_callback_array_add(obj, evas_object_box_callbacks, o);
189 189
190 return opt; 190 return opt;
191} 191}
@@ -221,7 +221,7 @@ _evas_box_internal_append(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child)
221 221
222 priv->children = eina_list_append(priv->children, opt); 222 priv->children = eina_list_append(priv->children, opt);
223 priv->children_changed = EINA_TRUE; 223 priv->children_changed = EINA_TRUE;
224 eo_do(o, eo_event_callback_call(EVAS_BOX_EVENT_CHILD_ADDED, opt)); 224 eo_event_callback_call(o, EVAS_BOX_EVENT_CHILD_ADDED, opt);
225 225
226 return opt; 226 return opt;
227} 227}
@@ -237,7 +237,7 @@ _evas_box_internal_prepend(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child
237 237
238 priv->children = eina_list_prepend(priv->children, opt); 238 priv->children = eina_list_prepend(priv->children, opt);
239 priv->children_changed = EINA_TRUE; 239 priv->children_changed = EINA_TRUE;
240 eo_do(o, eo_event_callback_call(EVAS_BOX_EVENT_CHILD_ADDED, opt)); 240 eo_event_callback_call(o, EVAS_BOX_EVENT_CHILD_ADDED, opt);
241 241
242 return opt; 242 return opt;
243} 243}
@@ -261,7 +261,7 @@ _evas_box_internal_insert_before(Eo *o, Evas_Object_Box_Data *priv, Evas_Object
261 priv->children = eina_list_prepend_relative 261 priv->children = eina_list_prepend_relative
262 (priv->children, new_opt, opt); 262 (priv->children, new_opt, opt);
263 priv->children_changed = EINA_TRUE; 263 priv->children_changed = EINA_TRUE;
264 eo_do(o, eo_event_callback_call(EVAS_BOX_EVENT_CHILD_ADDED, new_opt)); 264 eo_event_callback_call(o, EVAS_BOX_EVENT_CHILD_ADDED, new_opt);
265 return new_opt; 265 return new_opt;
266 } 266 }
267 } 267 }
@@ -288,7 +288,7 @@ _evas_box_internal_insert_after(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *
288 priv->children = eina_list_append_relative 288 priv->children = eina_list_append_relative
289 (priv->children, new_opt, opt); 289 (priv->children, new_opt, opt);
290 priv->children_changed = EINA_TRUE; 290 priv->children_changed = EINA_TRUE;
291 eo_do(o, eo_event_callback_call(EVAS_BOX_EVENT_CHILD_ADDED, new_opt)); 291 eo_event_callback_call(o, EVAS_BOX_EVENT_CHILD_ADDED, new_opt);
292 return new_opt; 292 return new_opt;
293 } 293 }
294 } 294 }
@@ -311,7 +311,7 @@ _evas_box_internal_insert_at(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *chi
311 311
312 priv->children = eina_list_prepend(priv->children, new_opt); 312 priv->children = eina_list_prepend(priv->children, new_opt);
313 priv->children_changed = EINA_TRUE; 313 priv->children_changed = EINA_TRUE;
314 eo_do(o, eo_event_callback_call(EVAS_BOX_EVENT_CHILD_ADDED, new_opt)); 314 eo_event_callback_call(o, EVAS_BOX_EVENT_CHILD_ADDED, new_opt);
315 return new_opt; 315 return new_opt;
316 } 316 }
317 317
@@ -330,7 +330,7 @@ _evas_box_internal_insert_at(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *chi
330 priv->children = eina_list_prepend_relative 330 priv->children = eina_list_prepend_relative
331 (priv->children, new_opt, opt); 331 (priv->children, new_opt, opt);
332 priv->children_changed = EINA_TRUE; 332 priv->children_changed = EINA_TRUE;
333 eo_do(o, eo_event_callback_call(EVAS_BOX_EVENT_CHILD_ADDED, new_opt)); 333 eo_event_callback_call(o, EVAS_BOX_EVENT_CHILD_ADDED, new_opt);
334 return new_opt; 334 return new_opt;
335 } 335 }
336 } 336 }
@@ -350,9 +350,9 @@ _evas_box_internal_remove(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child)
350 if (obj == child) 350 if (obj == child)
351 { 351 {
352 priv->children = eina_list_remove(priv->children, opt); 352 priv->children = eina_list_remove(priv->children, opt);
353 eo_do(o, evas_obj_box_internal_option_free(opt)); 353 evas_obj_box_internal_option_free(o, opt);
354 priv->children_changed = EINA_TRUE; 354 priv->children_changed = EINA_TRUE;
355 eo_do(o, eo_event_callback_call(EVAS_BOX_EVENT_CHILD_REMOVED, obj)); 355 eo_event_callback_call(o, EVAS_BOX_EVENT_CHILD_REMOVED, obj);
356 356
357 return obj; 357 return obj;
358 } 358 }
@@ -378,16 +378,16 @@ _evas_box_internal_remove_at(Eo *o, Evas_Object_Box_Data *priv, unsigned int pos
378 obj = opt->obj; 378 obj = opt->obj;
379 379
380 priv->children = eina_list_remove_list(priv->children, node); 380 priv->children = eina_list_remove_list(priv->children, node);
381 eo_do(o, evas_obj_box_internal_option_free(opt)); 381 evas_obj_box_internal_option_free(o, opt);
382 priv->children_changed = EINA_TRUE; 382 priv->children_changed = EINA_TRUE;
383 eo_do(o, eo_event_callback_call(EVAS_BOX_EVENT_CHILD_REMOVED, obj)); 383 eo_event_callback_call(o, EVAS_BOX_EVENT_CHILD_REMOVED, obj);
384 return obj; 384 return obj;
385} 385}
386 386
387EOLIAN static void 387EOLIAN static void
388_evas_box_evas_object_smart_add(Eo *o, Evas_Object_Box_Data *priv) 388_evas_box_evas_object_smart_add(Eo *o, Evas_Object_Box_Data *priv)
389{ 389{
390 eo_do_super(o, MY_CLASS, evas_obj_smart_add()); 390 evas_obj_smart_add(eo_super(o, MY_CLASS));
391 391
392 evas_object_event_callback_add 392 evas_object_event_callback_add
393 (o, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_hints_changed, o); 393 (o, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_hints_changed, o);
@@ -412,14 +412,14 @@ _evas_box_evas_object_smart_del(Eo *o, Evas_Object_Box_Data *priv)
412 Evas_Object_Box_Option *opt = l->data; 412 Evas_Object_Box_Option *opt = l->data;
413 413
414 _evas_object_box_child_callbacks_unregister(opt->obj, o); 414 _evas_object_box_child_callbacks_unregister(opt->obj, o);
415 eo_do(o, evas_obj_box_internal_option_free(opt)); 415 evas_obj_box_internal_option_free(o, opt);
416 l = eina_list_remove_list(l, l); 416 l = eina_list_remove_list(l, l);
417 } 417 }
418 418
419 if (priv->layout.data && priv->layout.free_data) 419 if (priv->layout.data && priv->layout.free_data)
420 priv->layout.free_data(priv->layout.data); 420 priv->layout.free_data(priv->layout.data);
421 421
422 eo_do_super(o, MY_CLASS, evas_obj_smart_del()); 422 evas_obj_smart_del(eo_super(o, MY_CLASS));
423} 423}
424 424
425EOLIAN static void 425EOLIAN static void
@@ -465,10 +465,9 @@ evas_object_box_add(Evas *evas)
465EOLIAN static Eo * 465EOLIAN static Eo *
466_evas_box_eo_base_constructor(Eo *obj, Evas_Object_Box_Data *class_data EINA_UNUSED) 466_evas_box_eo_base_constructor(Eo *obj, Evas_Object_Box_Data *class_data EINA_UNUSED)
467{ 467{
468 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 468 obj = eo_constructor(eo_super(obj, MY_CLASS));
469 eo_do(obj, 469 evas_obj_smart_callbacks_descriptions_set(obj, _signals);
470 evas_obj_smart_callbacks_descriptions_set(_signals), 470 evas_obj_type_set(obj, MY_CLASS_NAME_LEGACY);
471 evas_obj_type_set(MY_CLASS_NAME_LEGACY));
472 471
473 return obj; 472 return obj;
474} 473}
@@ -1696,7 +1695,7 @@ _evas_box_append(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child)
1696 if (!child || (evas_object_smart_parent_get(child) == o)) 1695 if (!child || (evas_object_smart_parent_get(child) == o))
1697 return NULL; 1696 return NULL;
1698 1697
1699 eo_do(o, opt = evas_obj_box_internal_append(child)); 1698 opt = evas_obj_box_internal_append(o, child);
1700 1699
1701 if (opt) 1700 if (opt)
1702 { 1701 {
@@ -1715,7 +1714,7 @@ _evas_box_prepend(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child)
1715 if (!child) 1714 if (!child)
1716 return NULL; 1715 return NULL;
1717 1716
1718 eo_do(o, opt = evas_obj_box_internal_prepend(child)); 1717 opt = evas_obj_box_internal_prepend(o, child);
1719 1718
1720 if (opt) 1719 if (opt)
1721 { 1720 {
@@ -1733,7 +1732,7 @@ _evas_box_insert_before(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child, c
1733 if (!child) 1732 if (!child)
1734 return NULL; 1733 return NULL;
1735 1734
1736 eo_do(o, opt = evas_obj_box_internal_insert_before(child, reference)); 1735 opt = evas_obj_box_internal_insert_before(o, child, reference);
1737 1736
1738 if (opt) 1737 if (opt)
1739 { 1738 {
@@ -1752,7 +1751,7 @@ _evas_box_insert_after(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child, co
1752 if (!child) 1751 if (!child)
1753 return NULL; 1752 return NULL;
1754 1753
1755 eo_do(o, opt = evas_obj_box_internal_insert_after(child, reference)); 1754 opt = evas_obj_box_internal_insert_after(o, child, reference);
1756 1755
1757 if (opt) 1756 if (opt)
1758 { 1757 {
@@ -1771,7 +1770,7 @@ _evas_box_insert_at(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child, unsig
1771 if (!child) 1770 if (!child)
1772 return NULL; 1771 return NULL;
1773 1772
1774 eo_do(o, opt = evas_obj_box_internal_insert_at(child, pos)); 1773 opt = evas_obj_box_internal_insert_at(o, child, pos);
1775 1774
1776 if (opt) 1775 if (opt)
1777 { 1776 {
@@ -1788,7 +1787,7 @@ _evas_box_remove(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Evas_Object *chil
1788{ 1787{
1789 Evas_Object *obj = NULL; 1788 Evas_Object *obj = NULL;
1790 1789
1791 eo_do(o, obj = evas_obj_box_internal_remove(child)); 1790 obj = evas_obj_box_internal_remove(o, child);
1792 1791
1793 if (obj) 1792 if (obj)
1794 { 1793 {
@@ -1806,7 +1805,7 @@ _evas_box_remove_at(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, unsigned int p
1806{ 1805{
1807 Evas_Object *obj = NULL; 1806 Evas_Object *obj = NULL;
1808 1807
1809 eo_do(o, obj = evas_obj_box_internal_remove_at(pos)); 1808 obj = evas_obj_box_internal_remove_at(o, pos);
1810 1809
1811 if (obj) 1810 if (obj)
1812 { 1811 {
@@ -1829,7 +1828,7 @@ _evas_box_remove_all(Eo *o, Evas_Object_Box_Data *priv, Eina_Bool clear)
1829 Evas_Object_Box_Option *opt = priv->children->data; 1828 Evas_Object_Box_Option *opt = priv->children->data;
1830 Evas_Object *obj = NULL; 1829 Evas_Object *obj = NULL;
1831 1830
1832 eo_do(o, obj = evas_obj_box_internal_remove(opt->obj)); 1831 obj = evas_obj_box_internal_remove(o, opt->obj);
1833 if (obj) 1832 if (obj)
1834 { 1833 {
1835 _evas_object_box_child_callbacks_unregister(obj, o); 1834 _evas_object_box_child_callbacks_unregister(obj, o);
@@ -1931,7 +1930,7 @@ EAPI Eina_Bool
1931evas_object_box_option_property_vset(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args) 1930evas_object_box_option_property_vset(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
1932{ 1931{
1933 Eina_Bool ret = EINA_FALSE; 1932 Eina_Bool ret = EINA_FALSE;
1934 eo_do(o, ret = evas_obj_box_option_property_vset(opt, property, (va_list *) &args)); 1933 ret = evas_obj_box_option_property_vset(o, opt, property, (va_list *) &args);
1935 return ret; 1934 return ret;
1936} 1935}
1937 1936
@@ -1958,7 +1957,7 @@ EAPI Eina_Bool
1958evas_object_box_option_property_vget(const Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args) 1957evas_object_box_option_property_vget(const Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
1959{ 1958{
1960 Eina_Bool ret = EINA_FALSE; 1959 Eina_Bool ret = EINA_FALSE;
1961 eo_do((Eo *)o, ret = evas_obj_box_option_property_vget(opt, property, (va_list *) &args)); 1960 ret = evas_obj_box_option_property_vget((Eo *)o, opt, property, (va_list *) &args);
1962 return ret; 1961 return ret;
1963} 1962}
1964 1963
diff --git a/src/lib/evas/canvas/evas_object_grid.c b/src/lib/evas/canvas/evas_object_grid.c
index 4c1b95a..0374b13 100644
--- a/src/lib/evas/canvas/evas_object_grid.c
+++ b/src/lib/evas/canvas/evas_object_grid.c
@@ -272,8 +272,8 @@ evas_object_grid_add(Evas *evas)
272EOLIAN static Eo * 272EOLIAN static Eo *
273_evas_grid_eo_base_constructor(Eo *obj, Evas_Grid_Data *class_data EINA_UNUSED) 273_evas_grid_eo_base_constructor(Eo *obj, Evas_Grid_Data *class_data EINA_UNUSED)
274{ 274{
275 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 275 obj = eo_constructor(eo_super(obj, MY_CLASS));
276 eo_do(obj, evas_obj_smart_attach(_evas_object_grid_smart_class_new())); 276 evas_obj_smart_attach(obj, _evas_object_grid_smart_class_new());
277 277
278 return obj; 278 return obj;
279// return evas_object_smart_add(evas, _evas_object_grid_smart_class_new()); 279// return evas_object_smart_add(evas, _evas_object_grid_smart_class_new());
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c
index ed2e604..fc4a680 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -350,7 +350,7 @@ _evas_image_eo_base_constructor(Eo *eo_obj, Evas_Image_Data *o)
350 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); 350 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS);
351 Evas_Colorspace cspace; 351 Evas_Colorspace cspace;
352 352
353 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 353 eo_obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
354 354
355 evas_object_image_init(eo_obj); 355 evas_object_image_init(eo_obj);
356 356
@@ -407,7 +407,7 @@ evas_object_image_memfile_set(Evas_Object *eo_obj, void *data, int size, char *f
407 407
408 f = eina_file_virtualize(NULL, data, size, EINA_TRUE); 408 f = eina_file_virtualize(NULL, data, size, EINA_TRUE);
409 if (!f) return ; 409 if (!f) return ;
410 eo_do(eo_obj, efl_file_mmap_set(f, key)); 410 efl_file_mmap_set(eo_obj, f, key);
411 eina_file_close(f); 411 eina_file_close(f);
412} 412}
413 413
@@ -732,7 +732,7 @@ EAPI Eina_Bool
732evas_object_image_source_unset(Evas_Object *eo_obj) 732evas_object_image_source_unset(Evas_Object *eo_obj)
733{ 733{
734 Eina_Bool result = EINA_FALSE; 734 Eina_Bool result = EINA_FALSE;
735 eo_do(eo_obj, result = evas_obj_image_source_set(NULL)); 735 result = evas_obj_image_source_set(eo_obj, NULL);
736 return result; 736 return result;
737} 737}
738 738
@@ -786,7 +786,7 @@ _evas_image_source_events_get(Eo *eo_obj, Evas_Image_Data *_pd EINA_UNUSED)
786EOLIAN static void 786EOLIAN static void
787_evas_image_eo_base_dbg_info_get(Eo *eo_obj, Evas_Image_Data *o, Eo_Dbg_Info *root) 787_evas_image_eo_base_dbg_info_get(Eo *eo_obj, Evas_Image_Data *o, Eo_Dbg_Info *root)
788{ 788{
789 eo_do_super(eo_obj, MY_CLASS, eo_dbg_info_get(root)); 789 eo_dbg_info_get(eo_super(eo_obj, MY_CLASS), root);
790 Eo_Dbg_Info *group = EO_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME); 790 Eo_Dbg_Info *group = EO_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME);
791 791
792 const char *file, *key; 792 const char *file, *key;
@@ -804,7 +804,7 @@ _evas_image_eo_base_dbg_info_get(Eo *eo_obj, Evas_Image_Data *o, Eo_Dbg_Info *ro
804 if (evas_object_image_load_error_get(eo_obj) != EVAS_LOAD_ERROR_NONE) 804 if (evas_object_image_load_error_get(eo_obj) != EVAS_LOAD_ERROR_NONE)
805 { 805 {
806 Evas_Load_Error error = EVAS_LOAD_ERROR_GENERIC; 806 Evas_Load_Error error = EVAS_LOAD_ERROR_GENERIC;
807 eo_do(eo_obj, error = evas_obj_image_load_error_get()); 807 error = evas_obj_image_load_error_get(eo_obj);
808 EO_DBG_INFO_APPEND(group, "Load Error", EINA_VALUE_TYPE_STRING, 808 EO_DBG_INFO_APPEND(group, "Load Error", EINA_VALUE_TYPE_STRING,
809 evas_load_error_str(error)); 809 evas_load_error_str(error));
810 } 810 }
@@ -986,7 +986,7 @@ evas_object_image_fill_set(Evas_Image *obj,
986 Evas_Coord x, Evas_Coord y, 986 Evas_Coord x, Evas_Coord y,
987 Evas_Coord w, Evas_Coord h) 987 Evas_Coord w, Evas_Coord h)
988{ 988{
989 eo_do((Evas_Image *)obj, efl_gfx_fill_set(x, y, w, h)); 989 efl_gfx_fill_set((Evas_Image *)obj, x, y, w, h);
990} 990}
991 991
992EOLIAN static void 992EOLIAN static void
@@ -1025,7 +1025,7 @@ evas_object_image_fill_get(const Evas_Image *obj,
1025 Evas_Coord *x, Evas_Coord *y, 1025 Evas_Coord *x, Evas_Coord *y,
1026 Evas_Coord *w, Evas_Coord *h) 1026 Evas_Coord *w, Evas_Coord *h)
1027{ 1027{
1028 eo_do((Evas_Image *)obj, efl_gfx_fill_get(x, y, w, h)); 1028 efl_gfx_fill_get((Evas_Image *)obj, x, y, w, h);
1029} 1029}
1030 1030
1031EOLIAN static void 1031EOLIAN static void
@@ -1041,7 +1041,7 @@ _evas_image_efl_gfx_fill_fill_get(Eo *eo_obj EINA_UNUSED, Evas_Image_Data *o,
1041EAPI void 1041EAPI void
1042evas_object_image_fill_spread_set(Evas_Image *obj, Evas_Fill_Spread spread) 1042evas_object_image_fill_spread_set(Evas_Image *obj, Evas_Fill_Spread spread)
1043{ 1043{
1044 eo_do((Evas_Image *)obj, efl_gfx_fill_spread_set(spread)); 1044 efl_gfx_fill_spread_set((Evas_Image *)obj, spread);
1045} 1045}
1046 1046
1047EOLIAN static void 1047EOLIAN static void
@@ -1066,7 +1066,7 @@ evas_object_image_fill_spread_get(const Evas_Image *obj)
1066{ 1066{
1067 Evas_Fill_Spread ret; 1067 Evas_Fill_Spread ret;
1068 1068
1069 return eo_do_ret((Evas_Image *)obj, ret, efl_gfx_fill_spread_get()); 1069 return efl_gfx_fill_spread_get((Evas_Image *)obj);
1070} 1070}
1071 1071
1072EOLIAN static Efl_Gfx_Fill_Spread 1072EOLIAN static Efl_Gfx_Fill_Spread
@@ -1079,7 +1079,7 @@ _evas_image_efl_gfx_fill_fill_spread_get(Eo *eo_obj EINA_UNUSED,
1079EAPI void 1079EAPI void
1080evas_object_image_size_set(Evas_Image *obj, int w, int h) 1080evas_object_image_size_set(Evas_Image *obj, int w, int h)
1081{ 1081{
1082 eo_do((Evas_Image *)obj, efl_gfx_view_size_set(w, h)); 1082 efl_gfx_view_size_set((Evas_Image *)obj, w, h);
1083} 1083}
1084 1084
1085EOLIAN static void 1085EOLIAN static void
@@ -1149,7 +1149,7 @@ _evas_image_efl_gfx_view_size_set(Eo *eo_obj, Evas_Image_Data *o, int w, int h)
1149EAPI void 1149EAPI void
1150evas_object_image_size_get(const Evas_Image *obj, int *w, int *h) 1150evas_object_image_size_get(const Evas_Image *obj, int *w, int *h)
1151{ 1151{
1152 eo_do((Evas_Image *)obj, efl_gfx_view_size_get(w, h)); 1152 efl_gfx_view_size_get((Evas_Image *)obj, w, h);
1153} 1153}
1154 1154
1155EOLIAN static void 1155EOLIAN static void
@@ -1383,9 +1383,9 @@ evas_object_image_preload(Evas_Object *eo_obj, Eina_Bool cancel)
1383 return; 1383 return;
1384 MAGIC_CHECK_END(); 1384 MAGIC_CHECK_END();
1385 if (cancel) 1385 if (cancel)
1386 eo_do(eo_obj, evas_obj_image_preload_cancel()); 1386 evas_obj_image_preload_cancel(eo_obj);
1387 else 1387 else
1388 eo_do(eo_obj, evas_obj_image_preload_begin()); 1388 evas_obj_image_preload_begin(eo_obj);
1389} 1389}
1390 1390
1391static void 1391static void
@@ -2188,7 +2188,7 @@ evas_object_image_native_surface_set(Evas_Object *eo_obj, Evas_Native_Surface *s
2188 if (surf) // We need to unset native surf on del to remove shared hash refs 2188 if (surf) // We need to unset native surf on del to remove shared hash refs
2189 evas_object_event_callback_add 2189 evas_object_event_callback_add
2190 (eo_obj, EVAS_CALLBACK_DEL, _on_image_native_surface_del, NULL); 2190 (eo_obj, EVAS_CALLBACK_DEL, _on_image_native_surface_del, NULL);
2191 eo_do(eo_obj, evas_obj_image_native_surface_set(surf)); 2191 evas_obj_image_native_surface_set(eo_obj, surf);
2192} 2192}
2193 2193
2194EOLIAN static void 2194EOLIAN static void
@@ -2766,7 +2766,7 @@ _3d_render(Evas *eo_e, Evas_Object *eo_obj EINA_UNUSED,
2766 scene_data.depth_constant = pd_scene->depth_constant; 2766 scene_data.depth_constant = pd_scene->depth_constant;
2767 2767
2768 /* Phase 1 - Update scene graph tree. */ 2768 /* Phase 1 - Update scene graph tree. */
2769 eo_do(scene, evas_canvas3d_object_update()); 2769 evas_canvas3d_object_update(scene);
2770 2770
2771 /* Phase 2 - Do frustum culling and get visible model nodes. */ 2771 /* Phase 2 - Do frustum culling and get visible model nodes. */
2772 evas_canvas3d_node_tree_traverse(pd_scene->root_node, 2772 evas_canvas3d_node_tree_traverse(pd_scene->root_node,
@@ -2964,7 +2964,7 @@ _evas_image_eo_base_destructor(Eo *eo_obj, Evas_Image_Data *_pd EINA_UNUSED)
2964 2964
2965 evas_object_image_video_surface_set(eo_obj, NULL); 2965 evas_object_image_video_surface_set(eo_obj, NULL);
2966 evas_object_image_free(eo_obj, obj); 2966 evas_object_image_free(eo_obj, obj);
2967 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 2967 eo_destructor(eo_super(eo_obj, MY_CLASS));
2968} 2968}
2969 2969
2970void 2970void
@@ -3408,7 +3408,7 @@ _evas_image_render(Eo *eo_obj, Evas_Object_Protected_Data *obj,
3408 if (oi->has_filter) 3408 if (oi->has_filter)
3409 { 3409 {
3410 void *output_buffer = NULL; 3410 void *output_buffer = NULL;
3411 eo_do(source->object, output_buffer = evas_filter_output_buffer_get()); 3411 output_buffer = evas_filter_output_buffer_get(source->object);
3412 if (output_buffer) 3412 if (output_buffer)
3413 pixels = output_buffer; 3413 pixels = output_buffer;
3414 } 3414 }
@@ -3749,7 +3749,7 @@ evas_object_image_render_pre(Evas_Object *eo_obj,
3749 Evas_Canvas3D_Scene *scene = o->cur->scene; 3749 Evas_Canvas3D_Scene *scene = o->cur->scene;
3750 Eina_Bool dirty; 3750 Eina_Bool dirty;
3751 3751
3752 eo_do(scene, dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_ANY)); 3752 dirty = evas_canvas3d_object_dirty_get(scene, EVAS_CANVAS3D_STATE_ANY);
3753 if (dirty) 3753 if (dirty)
3754 { 3754 {
3755 evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj); 3755 evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj);
@@ -4913,64 +4913,64 @@ _evas_object_image_surface_get(Evas_Object *eo, Evas_Object_Protected_Data *obj)
4913EAPI void 4913EAPI void
4914evas_object_image_file_set(Eo *obj, const char *file, const char *key) 4914evas_object_image_file_set(Eo *obj, const char *file, const char *key)
4915{ 4915{
4916 eo_do((Eo *) obj, efl_file_set(file, key)); 4916 efl_file_set((Eo *) obj, file, key);
4917} 4917}
4918 4918
4919EAPI void 4919EAPI void
4920evas_object_image_file_get(const Eo *obj, const char **file, const char **key) 4920evas_object_image_file_get(const Eo *obj, const char **file, const char **key)
4921{ 4921{
4922 eo_do((Eo *) obj, efl_file_get(file, key)); 4922 efl_file_get((Eo *) obj, file, key);
4923} 4923}
4924 4924
4925EAPI void 4925EAPI void
4926evas_object_image_mmap_set(Evas_Image *obj, const Eina_File *f, const char *key) 4926evas_object_image_mmap_set(Evas_Image *obj, const Eina_File *f, const char *key)
4927{ 4927{
4928 eo_do((Evas_Image *)obj, efl_file_mmap_set(f, key)); 4928 efl_file_mmap_set((Evas_Image *)obj, f, key);
4929} 4929}
4930 4930
4931EAPI void 4931EAPI void
4932evas_object_image_mmap_get(const Evas_Image *obj, const Eina_File **f, const char **key) 4932evas_object_image_mmap_get(const Evas_Image *obj, const Eina_File **f, const char **key)
4933{ 4933{
4934 eo_do((Evas_Image *)obj, efl_file_mmap_get(f, key)); 4934 efl_file_mmap_get((Evas_Image *)obj, f, key);
4935} 4935}
4936 4936
4937EAPI Eina_Bool 4937EAPI Eina_Bool
4938evas_object_image_save(const Eo *obj, const char *file, const char *key, const char *flags) 4938evas_object_image_save(const Eo *obj, const char *file, const char *key, const char *flags)
4939{ 4939{
4940 Eina_Bool ret; 4940 Eina_Bool ret;
4941 return eo_do_ret((Eo *) obj, ret, efl_file_save(file, key, flags)); 4941 return efl_file_save((Eo *) obj, file, key, flags);
4942} 4942}
4943 4943
4944EAPI Eina_Bool 4944EAPI Eina_Bool
4945evas_object_image_animated_get(const Eo *obj) 4945evas_object_image_animated_get(const Eo *obj)
4946{ 4946{
4947 Eina_Bool ret; 4947 Eina_Bool ret;
4948 return eo_do_ret((Eo *) obj, ret, efl_image_animated_get()); 4948 return efl_image_animated_get((Eo *) obj);
4949} 4949}
4950 4950
4951EAPI void 4951EAPI void
4952evas_object_image_load_size_set(Eo *obj, int w, int h) 4952evas_object_image_load_size_set(Eo *obj, int w, int h)
4953{ 4953{
4954 eo_do((Eo *) obj, efl_image_load_size_set(w, h)); 4954 efl_image_load_size_set((Eo *) obj, w, h);
4955} 4955}
4956 4956
4957EAPI void 4957EAPI void
4958evas_object_image_load_size_get(const Eo *obj, int *w, int *h) 4958evas_object_image_load_size_get(const Eo *obj, int *w, int *h)
4959{ 4959{
4960 eo_do((Eo *) obj, efl_image_load_size_get(w, h)); 4960 efl_image_load_size_get((Eo *) obj, w, h);
4961} 4961}
4962 4962
4963EAPI void 4963EAPI void
4964evas_object_image_smooth_scale_set(Eo *obj, Eina_Bool smooth_scale) 4964evas_object_image_smooth_scale_set(Eo *obj, Eina_Bool smooth_scale)
4965{ 4965{
4966 eo_do((Eo *) obj, efl_image_smooth_scale_set(smooth_scale)); 4966 efl_image_smooth_scale_set((Eo *) obj, smooth_scale);
4967} 4967}
4968 4968
4969EAPI Eina_Bool 4969EAPI Eina_Bool
4970evas_object_image_smooth_scale_get(const Eo *obj) 4970evas_object_image_smooth_scale_get(const Eo *obj)
4971{ 4971{
4972 Eina_Bool ret; 4972 Eina_Bool ret;
4973 return eo_do_ret((Eo *) obj, ret, efl_image_smooth_scale_get()); 4973 return efl_image_smooth_scale_get((Eo *) obj);
4974} 4974}
4975 4975
4976EOLIAN static void 4976EOLIAN static void
@@ -4978,7 +4978,7 @@ _evas_image_efl_gfx_filter_filter_program_set(Eo *obj, Evas_Image_Data *pd EINA_
4978 const char *code, const char *name) 4978 const char *code, const char *name)
4979{ 4979{
4980 pd->has_filter = (code != NULL); 4980 pd->has_filter = (code != NULL);
4981 eo_do_super(obj, MY_CLASS, efl_gfx_filter_program_set(code, name)); 4981 efl_gfx_filter_program_set(eo_super(obj, MY_CLASS), code, name);
4982} 4982}
4983 4983
4984#include "canvas/evas_image.eo.c" 4984#include "canvas/evas_image.eo.c"
diff --git a/src/lib/evas/canvas/evas_object_line.c b/src/lib/evas/canvas/evas_object_line.c
index bc4209e..26dd5c7 100644
--- a/src/lib/evas/canvas/evas_object_line.c
+++ b/src/lib/evas/canvas/evas_object_line.c
@@ -220,7 +220,7 @@ _evas_line_eo_base_constructor(Eo *eo_obj, Evas_Line_Data *class_data EINA_UNUSE
220{ 220{
221 Evas_Line_Data *o; 221 Evas_Line_Data *o;
222 222
223 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 223 eo_obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
224 224
225 evas_object_line_init(eo_obj); 225 evas_object_line_init(eo_obj);
226 226
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index 9d90cf5..2536973 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -87,8 +87,7 @@ _animator_repeater(void *data, const Eo_Event *event)
87{ 87{
88 Evas_Object_Protected_Data *obj = data; 88 Evas_Object_Protected_Data *obj = data;
89 89
90 eo_do(obj->object, 90 eo_event_callback_call(obj->object, EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, event->event_info);
91 eo_event_callback_call(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, event->event_info));
92 DBG("Emitting animator tick on %p.", obj->object); 91 DBG("Emitting animator tick on %p.", obj->object);
93 92
94 return EO_CALLBACK_CONTINUE; 93 return EO_CALLBACK_CONTINUE;
@@ -107,8 +106,7 @@ _check_event_catcher_add(void *data, const Eo_Event *event)
107 { 106 {
108 if (obj->animator_ref++ > 0) break; 107 if (obj->animator_ref++ > 0) break;
109 108
110 eo_do(obj->layer->evas->evas, 109 eo_event_callback_add(obj->layer->evas->evas, EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _animator_repeater, obj);
111 eo_event_callback_add(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _animator_repeater, obj));
112 INF("Registering an animator tick on canvas %p for object %p.", 110 INF("Registering an animator tick on canvas %p for object %p.",
113 obj->layer->evas->evas, obj->object); 111 obj->layer->evas->evas, obj->object);
114 } 112 }
@@ -134,8 +132,7 @@ _check_event_catcher_del(void *data, const Eo_Event *event)
134 { 132 {
135 if ((--obj->animator_ref) > 0) break; 133 if ((--obj->animator_ref) > 0) break;
136 134
137 eo_do(obj->layer->evas->evas, 135 eo_event_callback_del(obj->layer->evas->evas, EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _animator_repeater, obj);
138 eo_event_callback_del(EFL_CORE_ANIMATOR_EVENT_ANIMATOR_TICK, _animator_repeater, obj));
139 INF("Unregistering an animator tick on canvas %p for object %p.", 136 INF("Unregistering an animator tick on canvas %p for object %p.",
140 obj->layer->evas->evas, obj->object); 137 obj->layer->evas->evas, obj->object);
141 } 138 }
@@ -157,11 +154,11 @@ _evas_object_eo_base_constructor(Eo *eo_obj, Evas_Object_Protected_Data *obj)
157{ 154{
158 Eo *parent = NULL; 155 Eo *parent = NULL;
159 156
160 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 157 eo_obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
161 eo_do(eo_obj, evas_obj_type_set(MY_CLASS_NAME)); 158 evas_obj_type_set(eo_obj, MY_CLASS_NAME);
162 eo_manual_free_set(eo_obj, EINA_TRUE); 159 eo_manual_free_set(eo_obj, EINA_TRUE);
163 160
164 eo_do(eo_obj, parent = eo_parent_get()); 161 parent = eo_parent_get(eo_obj);
165 162
166 if (!obj || !_init_cow() || !eo_isa(parent, EVAS_COMMON_INTERFACE_INTERFACE)) 163 if (!obj || !_init_cow() || !eo_isa(parent, EVAS_COMMON_INTERFACE_INTERFACE))
167 { 164 {
@@ -180,7 +177,7 @@ _evas_object_eo_base_constructor(Eo *eo_obj, Evas_Object_Protected_Data *obj)
180 177
181 evas_object_inject(eo_obj, obj, evas_object_evas_get(parent)); 178 evas_object_inject(eo_obj, obj, evas_object_evas_get(parent));
182 179
183 eo_do(eo_obj, eo_event_callback_array_add(event_catcher_watch(), obj)); 180 eo_event_callback_array_add(eo_obj, event_catcher_watch(), obj);
184 181
185 return eo_obj; 182 return eo_obj;
186} 183}
@@ -358,7 +355,7 @@ evas_object_change(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
358 } 355 }
359 EINA_LIST_FOREACH(obj->proxy->proxy_textures, l, texture) 356 EINA_LIST_FOREACH(obj->proxy->proxy_textures, l, texture)
360 { 357 {
361 eo_do(texture, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL)); 358 evas_canvas3d_object_change(texture, EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL);
362 } 359 }
363 if (obj->smart.parent) 360 if (obj->smart.parent)
364 { 361 {
@@ -795,7 +792,7 @@ _evas_object_eo_base_destructor(Eo *eo_obj, Evas_Object_Protected_Data *obj)
795 if (eo_isa(proxy, EVAS_IMAGE_CLASS)) 792 if (eo_isa(proxy, EVAS_IMAGE_CLASS))
796 evas_object_image_source_unset(proxy); 793 evas_object_image_source_unset(proxy);
797 else if (eo_isa(proxy, EVAS_TEXT_CLASS)) 794 else if (eo_isa(proxy, EVAS_TEXT_CLASS))
798 eo_do(proxy, efl_gfx_filter_source_set(NULL, eo_obj)); 795 efl_gfx_filter_source_set(proxy, NULL, eo_obj);
799 } 796 }
800 797
801 /* Eina_Cow has no way to know if we are going to really change something 798 /* Eina_Cow has no way to know if we are going to really change something
@@ -806,7 +803,7 @@ _evas_object_eo_base_destructor(Eo *eo_obj, Evas_Object_Protected_Data *obj)
806 Evas_Object_Proxy_Data, proxy_src) 803 Evas_Object_Proxy_Data, proxy_src)
807 { 804 {
808 EINA_LIST_FREE(proxy_src->proxy_textures, texture) 805 EINA_LIST_FREE(proxy_src->proxy_textures, texture)
809 eo_do(texture, evas_canvas3d_texture_source_set(NULL)); 806 evas_canvas3d_texture_source_set(texture, NULL);
810 } 807 }
811 EINA_COW_WRITE_END(evas_object_proxy_cow, obj->proxy, proxy_src); 808 EINA_COW_WRITE_END(evas_object_proxy_cow, obj->proxy, proxy_src);
812 } 809 }
@@ -827,7 +824,7 @@ end:
827 evas_object_event_callback_all_del(eo_obj); 824 evas_object_event_callback_all_del(eo_obj);
828 evas_object_event_callback_cleanup(eo_obj); 825 evas_object_event_callback_cleanup(eo_obj);
829 826
830 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 827 eo_destructor(eo_super(eo_obj, MY_CLASS));
831} 828}
832 829
833EAPI void 830EAPI void
@@ -836,15 +833,14 @@ evas_object_geometry_set(Evas_Object *eo_obj, Evas_Coord x, Evas_Coord y, Evas_C
836 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ); 833 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
837 return; 834 return;
838 MAGIC_CHECK_END(); 835 MAGIC_CHECK_END();
839 eo_do(eo_obj, 836 efl_gfx_position_set(eo_obj, x, y);
840 efl_gfx_position_set(x, y), 837 efl_gfx_size_set(eo_obj, w, h);
841 efl_gfx_size_set(w, h));
842} 838}
843 839
844EAPI void 840EAPI void
845evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y) 841evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
846{ 842{
847 eo_do((Evas_Object *)obj, efl_gfx_position_set(x, y)); 843 efl_gfx_position_set((Evas_Object *)obj, x, y);
848} 844}
849 845
850EOLIAN static void 846EOLIAN static void
@@ -893,7 +889,7 @@ _evas_object_efl_gfx_base_position_set(Eo *eo_obj, Evas_Object_Protected_Data *o
893 889
894 if (obj->is_smart) 890 if (obj->is_smart)
895 { 891 {
896 eo_do(eo_obj, evas_obj_smart_move(x, y)); 892 evas_obj_smart_move(eo_obj, x, y);
897 } 893 }
898 894
899 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) 895 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
@@ -935,7 +931,7 @@ _evas_object_efl_gfx_base_position_set(Eo *eo_obj, Evas_Object_Protected_Data *o
935EAPI void 931EAPI void
936evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) 932evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
937{ 933{
938 eo_do((Evas_Object *)obj, efl_gfx_size_set(w, h)); 934 efl_gfx_size_set((Evas_Object *)obj, w, h);
939} 935}
940 936
941EOLIAN static void 937EOLIAN static void
@@ -975,7 +971,7 @@ _evas_object_efl_gfx_base_size_set(Eo *eo_obj, Evas_Object_Protected_Data *obj,
975 971
976 if (obj->is_smart) 972 if (obj->is_smart)
977 { 973 {
978 eo_do(eo_obj, evas_obj_smart_resize(w, h)); 974 evas_obj_smart_resize(eo_obj, w, h);
979 } 975 }
980 976
981 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) 977 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
@@ -1024,7 +1020,8 @@ evas_object_geometry_get(const Evas_Object *eo_obj, Evas_Coord *x, Evas_Coord *y
1024 if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0; 1020 if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
1025 return; 1021 return;
1026 MAGIC_CHECK_END(); 1022 MAGIC_CHECK_END();
1027 eo_do((Eo *)eo_obj, efl_gfx_position_get(x, y), efl_gfx_size_get(w, h)); 1023 efl_gfx_position_get((Eo *)eo_obj, x, y);
1024 efl_gfx_size_get((Eo *)eo_obj, w, h);
1028} 1025}
1029 1026
1030EOLIAN static void 1027EOLIAN static void
@@ -1291,14 +1288,14 @@ evas_object_show(Evas_Object *eo_obj)
1291 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ); 1288 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
1292 return; 1289 return;
1293 MAGIC_CHECK_END(); 1290 MAGIC_CHECK_END();
1294 eo_do(eo_obj, efl_gfx_visible_set(EINA_TRUE)); 1291 efl_gfx_visible_set(eo_obj, EINA_TRUE);
1295} 1292}
1296 1293
1297EAPI void 1294EAPI void
1298evas_object_hide(Evas_Object *eo_obj) 1295evas_object_hide(Evas_Object *eo_obj)
1299{ 1296{
1300 if (!eo_obj) return; 1297 if (!eo_obj) return;
1301 eo_do(eo_obj, efl_gfx_visible_set(EINA_FALSE)); 1298 efl_gfx_visible_set(eo_obj, EINA_FALSE);
1302} 1299}
1303 1300
1304EAPI Eina_Bool 1301EAPI Eina_Bool
@@ -1306,7 +1303,7 @@ evas_object_visible_get(const Evas_Object *obj)
1306{ 1303{
1307 Eina_Bool ret; 1304 Eina_Bool ret;
1308 1305
1309 return eo_do_ret((Evas_Object *)obj, ret, efl_gfx_visible_get()); 1306 return efl_gfx_visible_get((Evas_Object *)obj);
1310} 1307}
1311 1308
1312static void 1309static void
@@ -1331,7 +1328,7 @@ _show(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
1331 if (evas_object_intercept_call_show(eo_obj, obj)) return; 1328 if (evas_object_intercept_call_show(eo_obj, obj)) return;
1332 if (obj->is_smart) 1329 if (obj->is_smart)
1333 { 1330 {
1334 eo_do(eo_obj, evas_obj_smart_show()); 1331 evas_obj_smart_show(eo_obj);
1335 } 1332 }
1336 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) 1333 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
1337 { 1334 {
@@ -1380,7 +1377,7 @@ _hide(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
1380 if (evas_object_intercept_call_hide(eo_obj, obj)) return; 1377 if (evas_object_intercept_call_hide(eo_obj, obj)) return;
1381 if (obj->is_smart) 1378 if (obj->is_smart)
1382 { 1379 {
1383 eo_do(eo_obj, evas_obj_smart_hide()); 1380 evas_obj_smart_hide(eo_obj);
1384 } 1381 }
1385 1382
1386 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) 1383 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
@@ -1498,7 +1495,7 @@ _evas_object_efl_gfx_base_visible_get(Eo *eo_obj EINA_UNUSED,
1498EAPI void 1495EAPI void
1499evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a) 1496evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a)
1500{ 1497{
1501 eo_do((Evas_Object *)obj, efl_gfx_color_set(r, g, b, a)); 1498 efl_gfx_color_set((Evas_Object *)obj, r, g, b, a);
1502} 1499}
1503 1500
1504EOLIAN static void 1501EOLIAN static void
@@ -1530,7 +1527,7 @@ _evas_object_efl_gfx_base_color_set(Eo *eo_obj, Evas_Object_Protected_Data *obj,
1530 if (evas_object_intercept_call_color_set(eo_obj, obj, r, g, b, a)) return; 1527 if (evas_object_intercept_call_color_set(eo_obj, obj, r, g, b, a)) return;
1531 if (obj->is_smart) 1528 if (obj->is_smart)
1532 { 1529 {
1533 eo_do(eo_obj, evas_obj_smart_color_set(r, g, b, a)); 1530 evas_obj_smart_color_set(eo_obj, r, g, b, a);
1534 } 1531 }
1535 if ((obj->cur->color.r == r) && 1532 if ((obj->cur->color.r == r) &&
1536 (obj->cur->color.g == g) && 1533 (obj->cur->color.g == g) &&
@@ -1572,7 +1569,7 @@ _evas_object_efl_gfx_base_color_part_set(Eo *obj, Evas_Object_Protected_Data *pd
1572EAPI void 1569EAPI void
1573evas_object_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a) 1570evas_object_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a)
1574{ 1571{
1575 eo_do((Evas_Object *)obj, efl_gfx_color_get(r, g, b, a)); 1572 efl_gfx_color_get((Evas_Object *)obj, r, g, b, a);
1576} 1573}
1577 1574
1578EOLIAN static void 1575EOLIAN static void
@@ -1677,7 +1674,7 @@ _evas_object_render_op_get(Eo *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *o
1677EOLIAN static void 1674EOLIAN static void
1678_evas_object_eo_base_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Data *obj EINA_UNUSED, Eo_Dbg_Info *root) 1675_evas_object_eo_base_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Data *obj EINA_UNUSED, Eo_Dbg_Info *root)
1679{ 1676{
1680 eo_do_super(eo_obj, MY_CLASS, eo_dbg_info_get(root)); 1677 eo_dbg_info_get(eo_super(eo_obj, MY_CLASS), root);
1681 Eo_Dbg_Info *group = EO_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME); 1678 Eo_Dbg_Info *group = EO_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME);
1682 Eo_Dbg_Info *node; 1679 Eo_Dbg_Info *node;
1683 const char *name; 1680 const char *name;
@@ -1699,25 +1696,24 @@ _evas_object_eo_base_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Data *obj EI
1699 Eina_Bool repeat_event; 1696 Eina_Bool repeat_event;
1700 Eina_Bool clipees_has; 1697 Eina_Bool clipees_has;
1701 1698
1702 eo_do(eo_obj, 1699 visible = efl_gfx_visible_get(eo_obj);
1703 visible = efl_gfx_visible_get(), 1700 layer = efl_gfx_stack_layer_get(eo_obj);
1704 layer = efl_gfx_stack_layer_get(), 1701 name = evas_obj_name_get(eo_obj);
1705 name = evas_obj_name_get(), 1702 efl_gfx_position_get(eo_obj, &x, &y);
1706 efl_gfx_position_get(&x, &y), 1703 efl_gfx_size_get(eo_obj, &w, &h);
1707 efl_gfx_size_get(&w, &h), 1704 scale = evas_obj_scale_get(eo_obj);
1708 scale = evas_obj_scale_get(), 1705 evas_obj_size_hint_min_get(eo_obj, &minw, &minh);
1709 evas_obj_size_hint_min_get(&minw, &minh), 1706 evas_obj_size_hint_max_get(eo_obj, &maxw, &maxh);
1710 evas_obj_size_hint_max_get(&maxw, &maxh), 1707 evas_obj_size_hint_request_get(eo_obj, &requestw, &requesth);
1711 evas_obj_size_hint_request_get(&requestw, &requesth), 1708 evas_obj_size_hint_align_get(eo_obj, &dblx, &dbly);
1712 evas_obj_size_hint_align_get(&dblx, &dbly), 1709 evas_obj_size_hint_weight_get(eo_obj, &dblw, &dblh);
1713 evas_obj_size_hint_weight_get(&dblw, &dblh), 1710 efl_gfx_color_get(eo_obj, &r, &g, &b, &a);
1714 efl_gfx_color_get(&r, &g, &b, &a), 1711 focus = evas_obj_focus_get(eo_obj);
1715 focus = evas_obj_focus_get(), 1712 m = evas_obj_pointer_mode_get(eo_obj);
1716 m = evas_obj_pointer_mode_get(), 1713 pass_event = evas_obj_pass_events_get(eo_obj);
1717 pass_event = evas_obj_pass_events_get(), 1714 repeat_event = evas_obj_repeat_events_get(eo_obj);
1718 repeat_event = evas_obj_repeat_events_get(), 1715 propagate_event = evas_obj_propagate_events_get(eo_obj);
1719 propagate_event = evas_obj_propagate_events_get(), 1716 clipees_has = evas_obj_clipees_has(eo_obj);
1720 clipees_has = evas_obj_clipees_has());
1721 1717
1722 EO_DBG_INFO_APPEND(group, "Visibility", EINA_VALUE_TYPE_CHAR, visible); 1718 EO_DBG_INFO_APPEND(group, "Visibility", EINA_VALUE_TYPE_CHAR, visible);
1723 1719
@@ -1792,7 +1788,7 @@ _evas_object_eo_base_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Data *obj EI
1792 EO_DBG_INFO_APPEND(group, "Has clipees", EINA_VALUE_TYPE_CHAR, clipees_has); 1788 EO_DBG_INFO_APPEND(group, "Has clipees", EINA_VALUE_TYPE_CHAR, clipees_has);
1793 1789
1794 Evas_Object *clipper = NULL; 1790 Evas_Object *clipper = NULL;
1795 eo_do(eo_obj, clipper = evas_obj_clip_get()); 1791 clipper = evas_obj_clip_get(eo_obj);
1796 EO_DBG_INFO_APPEND(group, "Clipper", EINA_VALUE_TYPE_UINT64, (uintptr_t) clipper); 1792 EO_DBG_INFO_APPEND(group, "Clipper", EINA_VALUE_TYPE_UINT64, (uintptr_t) clipper);
1797 1793
1798 const Evas_Map *map = evas_object_map_get(eo_obj); 1794 const Evas_Map *map = evas_object_map_get(eo_obj);
@@ -1868,8 +1864,7 @@ evas_object_top_at_pointer_get(const Evas *eo_e)
1868 Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS); 1864 Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
1869 Evas_Object *ret = NULL; 1865 Evas_Object *ret = NULL;
1870 if (!e) return NULL; 1866 if (!e) return NULL;
1871 eo_do((Eo *)eo_e, ret = evas_canvas_object_top_at_xy_get(e->pointer.x, e->pointer.y, EINA_TRUE, 1867 ret = evas_canvas_object_top_at_xy_get((Eo *)eo_e, e->pointer.x, e->pointer.y, EINA_TRUE, EINA_TRUE);
1872 EINA_TRUE));
1873 return ret; 1868 return ret;
1874} 1869}
1875 1870
diff --git a/src/lib/evas/canvas/evas_object_polygon.c b/src/lib/evas/canvas/evas_object_polygon.c
index a583c6d..a154e37 100644
--- a/src/lib/evas/canvas/evas_object_polygon.c
+++ b/src/lib/evas/canvas/evas_object_polygon.c
@@ -105,7 +105,7 @@ evas_object_polygon_add(Evas *e)
105EOLIAN static Eo * 105EOLIAN static Eo *
106_evas_polygon_eo_base_constructor(Eo *eo_obj, Evas_Polygon_Data *class_data EINA_UNUSED) 106_evas_polygon_eo_base_constructor(Eo *eo_obj, Evas_Polygon_Data *class_data EINA_UNUSED)
107{ 107{
108 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 108 eo_obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
109 109
110 evas_object_polygon_init(eo_obj); 110 evas_object_polygon_init(eo_obj);
111 111
@@ -280,7 +280,7 @@ _evas_polygon_eo_base_destructor(Eo *eo_obj, Evas_Polygon_Data *_pd EINA_UNUSED)
280 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); 280 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS);
281 281
282 evas_object_polygon_free(eo_obj, obj, obj->private_data); 282 evas_object_polygon_free(eo_obj, obj, obj->private_data);
283 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 283 eo_destructor(eo_super(eo_obj, MY_CLASS));
284} 284}
285 285
286static void 286static void
diff --git a/src/lib/evas/canvas/evas_object_rectangle.c b/src/lib/evas/canvas/evas_object_rectangle.c
index a22c990..37f8266 100644
--- a/src/lib/evas/canvas/evas_object_rectangle.c
+++ b/src/lib/evas/canvas/evas_object_rectangle.c
@@ -102,7 +102,7 @@ evas_object_rectangle_add(Evas *e)
102EOLIAN static Eo * 102EOLIAN static Eo *
103_evas_rectangle_eo_base_constructor(Eo *eo_obj, Evas_Rectangle_Data *class_data EINA_UNUSED) 103_evas_rectangle_eo_base_constructor(Eo *eo_obj, Evas_Rectangle_Data *class_data EINA_UNUSED)
104{ 104{
105 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 105 eo_obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
106 106
107 evas_object_rectangle_init(eo_obj); 107 evas_object_rectangle_init(eo_obj);
108 108
diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c
index b3da505..44c18f1 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -204,7 +204,7 @@ evas_object_smart_member_add(Evas_Object *eo_obj, Evas_Object *smart_obj)
204 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ); 204 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
205 return; 205 return;
206 MAGIC_CHECK_END(); 206 MAGIC_CHECK_END();
207 eo_do(smart_obj, evas_obj_smart_member_add(eo_obj)); 207 evas_obj_smart_member_add(smart_obj, eo_obj);
208} 208}
209 209
210EOLIAN static void 210EOLIAN static void
@@ -293,7 +293,7 @@ evas_object_smart_member_del(Evas_Object *eo_obj)
293 if (!obj->smart.parent) return; 293 if (!obj->smart.parent) return;
294 Evas_Object *smart_obj = obj->smart.parent; 294 Evas_Object *smart_obj = obj->smart.parent;
295 295
296 eo_do(smart_obj, evas_obj_smart_member_del(eo_obj)); 296 evas_obj_smart_member_del(smart_obj, eo_obj);
297} 297}
298 298
299EOLIAN static void 299EOLIAN static void
@@ -571,7 +571,7 @@ evas_object_smart_add(Evas *eo_e, Evas_Smart *s)
571 return NULL; 571 return NULL;
572 MAGIC_CHECK_END(); 572 MAGIC_CHECK_END();
573 eo_obj = eo_add(EVAS_OBJECT_SMART_CLASS, eo_e); 573 eo_obj = eo_add(EVAS_OBJECT_SMART_CLASS, eo_e);
574 eo_do(eo_obj, evas_obj_smart_attach(s)); 574 evas_obj_smart_attach(eo_obj, s);
575 return eo_obj; 575 return eo_obj;
576} 576}
577 577
@@ -584,12 +584,11 @@ _evas_object_smart_eo_base_constructor(Eo *eo_obj, Evas_Smart_Data *class_data E
584 smart->object = eo_obj; 584 smart->object = eo_obj;
585 smart->inherit_paragraph_direction = EINA_TRUE; 585 smart->inherit_paragraph_direction = EINA_TRUE;
586 586
587 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 587 eo_obj = eo_constructor(eo_super(eo_obj, MY_CLASS));
588 evas_object_smart_init(eo_obj); 588 evas_object_smart_init(eo_obj);
589 589
590 eo_do(eo_obj, 590 evas_obj_type_set(eo_obj, MY_CLASS_NAME_LEGACY);
591 evas_obj_type_set(MY_CLASS_NAME_LEGACY), 591 evas_obj_smart_add(eo_obj);
592 evas_obj_smart_add());
593 592
594 return eo_obj; 593 return eo_obj;
595} 594}
@@ -709,7 +708,7 @@ _evas_object_smart_attach(Eo *eo_obj, Evas_Smart_Data *_pd EINA_UNUSED, Evas_Sma
709 } 708 }
710 } 709 }
711 710
712 eo_do(eo_obj, evas_obj_smart_add()); 711 evas_obj_smart_add(eo_obj);
713} 712}
714 713
715EAPI void 714EAPI void
@@ -741,7 +740,7 @@ evas_object_smart_callback_priority_add(Evas_Object *eo_obj, const char *event,
741 o->callbacks = eina_inlist_append(o->callbacks, 740 o->callbacks = eina_inlist_append(o->callbacks,
742 EINA_INLIST_GET(cb_info)); 741 EINA_INLIST_GET(cb_info));
743 742
744 eo_do(eo_obj, eo_event_callback_priority_add(eo_desc, priority, _eo_evas_smart_cb, cb_info)); 743 eo_event_callback_priority_add(eo_obj, eo_desc, priority, _eo_evas_smart_cb, cb_info);
745} 744}
746 745
747EAPI void * 746EAPI void *
@@ -764,8 +763,7 @@ evas_object_smart_callback_del(Evas_Object *eo_obj, const char *event, Evas_Smar
764 if ((info->func == func) && (info->event == eo_desc)) 763 if ((info->func == func) && (info->event == eo_desc))
765 { 764 {
766 void *tmp = info->data; 765 void *tmp = info->data;
767 eo_do(eo_obj, eo_event_callback_del( 766 eo_event_callback_del(eo_obj, eo_desc, _eo_evas_smart_cb, info);
768 eo_desc, _eo_evas_smart_cb, info));
769 767
770 o->callbacks = 768 o->callbacks =
771 eina_inlist_remove(o->callbacks, EINA_INLIST_GET(info)); 769 eina_inlist_remove(o->callbacks, EINA_INLIST_GET(info));
@@ -796,8 +794,7 @@ evas_object_smart_callback_del_full(Evas_Object *eo_obj, const char *event, Evas
796 if ((info->func == func) && (info->event == eo_desc) && (info->data == data)) 794 if ((info->func == func) && (info->event == eo_desc) && (info->data == data))
797 { 795 {
798 void *tmp = info->data; 796 void *tmp = info->data;
799 eo_do(eo_obj, eo_event_callback_del( 797 eo_event_callback_del(eo_obj, eo_desc, _eo_evas_smart_cb, info);
800 eo_desc, _eo_evas_smart_cb, info));
801 798
802 o->callbacks = 799 o->callbacks =
803 eina_inlist_remove(o->callbacks, EINA_INLIST_GET(info)); 800 eina_inlist_remove(o->callbacks, EINA_INLIST_GET(info));
@@ -817,7 +814,7 @@ evas_object_smart_callback_call(Evas_Object *eo_obj, const char *event, void *ev
817 814
818 if (!event) return; 815 if (!event) return;
819 const Eo_Event_Description *eo_desc = eo_base_legacy_only_event_description_get(event); 816 const Eo_Event_Description *eo_desc = eo_base_legacy_only_event_description_get(event);
820 eo_do(eo_obj, eo_event_callback_call(eo_desc, event_info)); 817 eo_event_callback_call(eo_obj, eo_desc, event_info);
821} 818}
822 819
823EOLIAN static Eina_Bool 820EOLIAN static Eina_Bool
@@ -980,7 +977,7 @@ evas_call_smarts_calculate(Evas *eo_e)
980 if (obj->smart.smart && obj->smart.smart->smart_class->calculate) 977 if (obj->smart.smart && obj->smart.smart->smart_class->calculate)
981 obj->smart.smart->smart_class->calculate(obj->object); 978 obj->smart.smart->smart_class->calculate(obj->object);
982 else 979 else
983 eo_do(obj->object, evas_obj_smart_calculate()); 980 evas_obj_smart_calculate(obj->object);
984 } 981 }
985 } 982 }
986 983
@@ -1003,7 +1000,7 @@ _evas_object_smart_changed(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED)
1003 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); 1000 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS);
1004 evas_object_async_block(obj); 1001 evas_object_async_block(obj);
1005 evas_object_change(eo_obj, obj); 1002 evas_object_change(eo_obj, obj);
1006 eo_do(eo_obj, evas_obj_smart_need_recalculate_set(1)); 1003 evas_obj_smart_need_recalculate_set(eo_obj, 1);
1007} 1004}
1008 1005
1009Eina_Bool 1006Eina_Bool
@@ -1049,7 +1046,7 @@ evas_object_smart_del(Evas_Object *eo_obj)
1049 if (s && s->smart_class->del) 1046 if (s && s->smart_class->del)
1050 s->smart_class->del(eo_obj); 1047 s->smart_class->del(eo_obj);
1051 else 1048 else
1052 eo_do(eo_obj, evas_obj_smart_del()); 1049 evas_obj_smart_del(eo_obj);
1053 if (obj->smart.parent) evas_object_smart_member_del(eo_obj); 1050 if (obj->smart.parent) evas_object_smart_member_del(eo_obj);
1054 1051
1055 if (s) 1052 if (s)
@@ -1243,14 +1240,13 @@ evas_object_smart_cleanup(Evas_Object *eo_obj)
1243 while (o->callbacks) 1240 while (o->callbacks)
1244 { 1241 {
1245 _eo_evas_smart_cb_info *info = (_eo_evas_smart_cb_info *)o->callbacks; 1242 _eo_evas_smart_cb_info *info = (_eo_evas_smart_cb_info *)o->callbacks;
1246 eo_do(eo_obj, eo_event_callback_del( 1243 eo_event_callback_del(eo_obj, info->event, _eo_evas_smart_cb, info);
1247 info->event, _eo_evas_smart_cb, info));
1248 o->callbacks = eina_inlist_remove(o->callbacks, EINA_INLIST_GET(info)); 1244 o->callbacks = eina_inlist_remove(o->callbacks, EINA_INLIST_GET(info));
1249 free(info); 1245 free(info);
1250 } 1246 }
1251 1247
1252 evas_smart_cb_descriptions_resize(&o->callbacks_descriptions, 0); 1248 evas_smart_cb_descriptions_resize(&o->callbacks_descriptions, 0);
1253 eo_do(eo_obj, evas_obj_smart_data_set(NULL)); 1249 evas_obj_smart_data_set(eo_obj, NULL);
1254 } 1250 }
1255 1251
1256 obj->smart.parent = NULL; 1252 obj->smart.parent = NULL;
diff --git a/src/lib/evas/canvas/evas_object_smart_clipped.c b/src/lib/evas/canvas/evas_object_smart_clipped.c
index 6d4effd..c066e03 100644
--- a/src/lib/evas/canvas/evas_object_smart_clipped.c
+++ b/src/lib/evas/canvas/evas_object_smart_clipped.c
@@ -195,7 +195,7 @@ evas_object_smart_clipped_smart_member_add(Evas_Object *eo_obj, Evas_Object *mem
195EOLIAN static void 195EOLIAN static void
196_evas_smart_clipped_evas_object_smart_member_add(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Object *member) 196_evas_smart_clipped_evas_object_smart_member_add(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Object *member)
197{ 197{
198 eo_do_super(eo_obj, MY_CLASS, evas_obj_smart_member_add(member)); 198 evas_obj_smart_member_add(eo_super(eo_obj, MY_CLASS), member);
199 evas_object_smart_clipped_smart_member_add(eo_obj, member); 199 evas_object_smart_clipped_smart_member_add(eo_obj, member);
200} 200}
201 201
@@ -214,7 +214,7 @@ EOLIAN static void
214_evas_smart_clipped_evas_object_smart_member_del(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Object *member) 214_evas_smart_clipped_evas_object_smart_member_del(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Evas_Object *member)
215{ 215{
216 evas_object_smart_clipped_smart_member_del(eo_obj, member); 216 evas_object_smart_clipped_smart_member_del(eo_obj, member);
217 eo_do_super(eo_obj, MY_CLASS, evas_obj_smart_member_del(member)); 217 evas_obj_smart_member_del(eo_super(eo_obj, MY_CLASS), member);
218} 218}
219 219
220EAPI void 220EAPI void
@@ -253,7 +253,7 @@ evas_object_smart_clipped_class_get(void)
253EOLIAN static Eo * 253EOLIAN static Eo *
254_evas_smart_clipped_eo_base_constructor(Eo *obj, Evas_Object_Smart_Clipped_Data *class_data EINA_UNUSED) 254_evas_smart_clipped_eo_base_constructor(Eo *obj, Evas_Object_Smart_Clipped_Data *class_data EINA_UNUSED)
255{ 255{
256 return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 256 return eo_constructor(eo_super(obj, MY_CLASS));
257} 257}
258 258
259#include "canvas/evas_smart_clipped.eo.c" 259#include "canvas/evas_smart_clipped.eo.c"
diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c
index 158237a..60a83fd 100644
--- a/src/lib/evas/canvas/evas_object_table.c
+++ b/src/lib/evas/canvas/evas_object_table.c
@@ -272,13 +272,13 @@ static const Eo_Callback_Array_Item evas_object_table_callbacks[] = {
272static void 272static void
273_evas_object_table_child_connect(Evas_Object *o, Evas_Object *child) 273_evas_object_table_child_connect(Evas_Object *o, Evas_Object *child)
274{ 274{
275 eo_do(child, eo_event_callback_array_add(evas_object_table_callbacks, o)); 275 eo_event_callback_array_add(child, evas_object_table_callbacks, o);
276} 276}
277 277
278static void 278static void
279_evas_object_table_child_disconnect(Evas_Object *o, Evas_Object *child) 279_evas_object_table_child_disconnect(Evas_Object *o, Evas_Object *child)
280{ 280{
281 eo_do(child, eo_event_callback_array_del(evas_object_table_callbacks, o)); 281 eo_event_callback_array_del(child, evas_object_table_callbacks, o);
282} 282}
283 283
284static void 284static void
@@ -899,7 +899,7 @@ _e