summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-11-01 21:57:43 -0200
committerFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2015-11-01 21:57:43 -0200
commitfa88a2337f4c1ed74dbe5f8e9b8ab9e80aa94215 (patch)
tree289d1f0e30abe7aeb9100ab9ed3e3a755d1c18b7 /src/lib/evas
parentb9a6a8e7384fc79fced2132407208abfedf77fe1 (diff)
Eo: Partial implementation to remove eo_dodevs/felipealmeida/eo_optimisations
Diffstat (limited to 'src/lib/evas')
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c20
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_camera.c19
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_light.c35
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_material.c17
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_mesh.c51
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node.c155
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_object.c16
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_primitive.c9
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_scene.c43
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_texture.c45
-rw-r--r--src/lib/evas/canvas/evas_clip.c4
-rw-r--r--src/lib/evas/canvas/evas_data.c6
-rw-r--r--src/lib/evas/canvas/evas_events.c14
-rw-r--r--src/lib/evas/canvas/evas_filter_mixin.c14
-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.c7
-rw-r--r--src/lib/evas/canvas/evas_object_box.c63
-rw-r--r--src/lib/evas/canvas/evas_object_grid.c7
-rw-r--r--src/lib/evas/canvas/evas_object_image.c65
-rw-r--r--src/lib/evas/canvas/evas_object_line.c5
-rw-r--r--src/lib/evas/canvas/evas_object_main.c88
-rw-r--r--src/lib/evas/canvas/evas_object_polygon.c7
-rw-r--r--src/lib/evas/canvas/evas_object_rectangle.c5
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c34
-rw-r--r--src/lib/evas/canvas/evas_object_smart_clipped.c6
-rw-r--r--src/lib/evas/canvas/evas_object_table.c17
-rw-r--r--src/lib/evas/canvas/evas_object_text.c55
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c29
-rw-r--r--src/lib/evas/canvas/evas_object_textgrid.c23
-rw-r--r--src/lib/evas/canvas/evas_object_vg.c13
-rw-r--r--src/lib/evas/canvas/evas_out.c15
-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.c23
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient.c16
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_linear.c40
-rw-r--r--src/lib/evas/canvas/evas_vg_gradient_radial.c48
-rw-r--r--src/lib/evas/canvas/evas_vg_node.c62
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h2
-rw-r--r--src/lib/evas/canvas/evas_vg_root_node.c10
-rw-r--r--src/lib/evas/canvas/evas_vg_shape.c141
-rw-r--r--src/lib/evas/canvas/render2/evas_render2.c6
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.c24
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.h16
-rw-r--r--src/lib/evas/filters/evas_filter_parser.c10
46 files changed, 665 insertions, 646 deletions
diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c
index 224b1e3..a1ada65 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -153,7 +153,7 @@ evas_object_event_callback_all_del(Evas_Object *eo_obj)
153 if (!obj->callbacks) return; 153 if (!obj->callbacks) return;
154 EINA_INLIST_FOREACH_SAFE(obj->callbacks, itr, info) 154 EINA_INLIST_FOREACH_SAFE(obj->callbacks, itr, info)
155 { 155 {
156 eo_do(eo_obj, eo_event_callback_del( 156 eo_do(eo_obj, eo_event_callback_del(eo_obj,
157 _legacy_evas_callback_table[info->type], _eo_evas_object_cb, info)); 157 _legacy_evas_callback_table[info->type], _eo_evas_object_cb, info));
158 158
159 obj->callbacks = 159 obj->callbacks =
@@ -180,7 +180,7 @@ evas_event_callback_all_del(Evas *eo_e)
180 180
181 EINA_INLIST_FOREACH_SAFE(e->callbacks, itr, info) 181 EINA_INLIST_FOREACH_SAFE(e->callbacks, itr, info)
182 { 182 {
183 eo_do(eo_e, eo_event_callback_del( 183 eo_do(eo_e, eo_event_callback_del(eo_e,
184 _legacy_evas_callback_table[info->type], _eo_evas_cb, info)); 184 _legacy_evas_callback_table[info->type], _eo_evas_cb, info));
185 185
186 e->callbacks = 186 e->callbacks =
@@ -198,7 +198,7 @@ evas_event_callback_cleanup(Evas *eo_e)
198void 198void
199evas_event_callback_call(Evas *eo_e, Evas_Callback_Type type, void *event_info) 199evas_event_callback_call(Evas *eo_e, Evas_Callback_Type type, void *event_info)
200{ 200{
201 eo_do(eo_e, eo_event_callback_call(_legacy_evas_callback_table[type], event_info)); 201 eo_do(eo_e, eo_event_callback_call(eo_e, _legacy_evas_callback_table[type], event_info));
202} 202}
203 203
204void 204void
@@ -259,7 +259,7 @@ evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data
259 break; 259 break;
260 } 260 }
261 261
262 eo_do(eo_obj, eo_event_callback_call(_legacy_evas_callback_table[type], event_info)); 262 eo_do(eo_obj, eo_event_callback_call(eo_obj, _legacy_evas_callback_table[type], event_info));
263 263
264 if (type == EVAS_CALLBACK_MOUSE_DOWN) 264 if (type == EVAS_CALLBACK_MOUSE_DOWN)
265 { 265 {
@@ -310,7 +310,7 @@ evas_object_event_callback_priority_add(Evas_Object *eo_obj, Evas_Callback_Type
310 cb_info->type = type; 310 cb_info->type = type;
311 311
312 const Eo_Event_Description *desc = _legacy_evas_callback_table[type]; 312 const Eo_Event_Description *desc = _legacy_evas_callback_table[type];
313 eo_do(eo_obj, eo_event_callback_priority_add(desc, priority, _eo_evas_object_cb, cb_info)); 313 eo_do(eo_obj, eo_event_callback_priority_add(eo_obj, desc, priority, _eo_evas_object_cb, cb_info));
314 314
315 obj->callbacks = 315 obj->callbacks =
316 eina_inlist_append(obj->callbacks, EINA_INLIST_GET(cb_info)); 316 eina_inlist_append(obj->callbacks, EINA_INLIST_GET(cb_info));
@@ -336,7 +336,7 @@ evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type type, Eva
336 if ((info->func == func) && (info->type == type)) 336 if ((info->func == func) && (info->type == type))
337 { 337 {
338 void *tmp = info->data; 338 void *tmp = info->data;
339 eo_do(eo_obj, eo_event_callback_del( 339 eo_do(eo_obj, eo_event_callback_del(eo_obj,
340 _legacy_evas_callback_table[type], _eo_evas_object_cb, info)); 340 _legacy_evas_callback_table[type], _eo_evas_object_cb, info));
341 341
342 obj->callbacks = 342 obj->callbacks =
@@ -368,7 +368,7 @@ evas_object_event_callback_del_full(Evas_Object *eo_obj, Evas_Callback_Type type
368 if ((info->func == func) && (info->type == type) && info->data == data) 368 if ((info->func == func) && (info->type == type) && info->data == data)
369 { 369 {
370 void *tmp = info->data; 370 void *tmp = info->data;
371 eo_do(eo_obj, eo_event_callback_del( 371 eo_do(eo_obj, eo_event_callback_del(eo_obj,
372 _legacy_evas_callback_table[type], _eo_evas_object_cb, info)); 372 _legacy_evas_callback_table[type], _eo_evas_object_cb, info));
373 373
374 obj->callbacks = 374 obj->callbacks =
@@ -404,7 +404,7 @@ evas_event_callback_priority_add(Evas *eo_e, Evas_Callback_Type type, Evas_Callb
404 cb_info->type = type; 404 cb_info->type = type;
405 405
406 const Eo_Event_Description *desc = _legacy_evas_callback_table[type]; 406 const Eo_Event_Description *desc = _legacy_evas_callback_table[type];
407 eo_do(eo_e, eo_event_callback_priority_add(desc, priority, _eo_evas_cb, cb_info)); 407 eo_do(eo_e, eo_event_callback_priority_add(eo_e, desc, priority, _eo_evas_cb, cb_info));
408 408
409 e->callbacks = eina_inlist_append(e->callbacks, EINA_INLIST_GET(cb_info)); 409 e->callbacks = eina_inlist_append(e->callbacks, EINA_INLIST_GET(cb_info));
410} 410}
@@ -429,7 +429,7 @@ evas_event_callback_del(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb func)
429 if ((info->func == func) && (info->type == type)) 429 if ((info->func == func) && (info->type == type))
430 { 430 {
431 void *tmp = info->data; 431 void *tmp = info->data;
432 eo_do(eo_e, eo_event_callback_del( 432 eo_do(eo_e, eo_event_callback_del(eo_e,
433 _legacy_evas_callback_table[type], _eo_evas_cb, info)); 433 _legacy_evas_callback_table[type], _eo_evas_cb, info));
434 434
435 e->callbacks = 435 e->callbacks =
@@ -461,7 +461,7 @@ evas_event_callback_del_full(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb
461 if ((info->func == func) && (info->type == type) && (info->data == data)) 461 if ((info->func == func) && (info->type == type) && (info->data == data))
462 { 462 {
463 void *tmp = info->data; 463 void *tmp = info->data;
464 eo_do(eo_e, eo_event_callback_del( 464 eo_do(eo_e, eo_event_callback_del(eo_e,
465 _legacy_evas_callback_table[type], _eo_evas_cb, info)); 465 _legacy_evas_callback_table[type], _eo_evas_cb, info));
466 466
467 e->callbacks = 467 e->callbacks =
diff --git a/src/lib/evas/canvas/evas_canvas3d_camera.c b/src/lib/evas/canvas/evas_canvas3d_camera.c
index 802bccf..1b2ff40 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 eo_do(n, 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_super_eo_constructor( MY_CLASS, obj);
70 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_CAMERA)); 70 eo_do(obj, 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_super_eo_destructor(MY_CLASS, obj);
96} 96}
97 97
98EAPI Evas_Canvas3D_Camera * 98EAPI Evas_Canvas3D_Camera *
@@ -101,7 +101,8 @@ evas_canvas3d_camera_add(Evas *e)
101 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 101 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
102 return NULL; 102 return NULL;
103 MAGIC_CHECK_END(); 103 MAGIC_CHECK_END();
104 Evas_Object *eo_obj = eo_add(MY_CLASS, e); 104 Evas_Object *eo_obj;
105 eo_add(eo_obj, MY_CLASS, e);
105 return eo_obj; 106 return eo_obj;
106} 107}
107 108
@@ -110,7 +111,7 @@ _evas_canvas3d_camera_projection_matrix_set(Eo *obj, Evas_Canvas3D_Camera_Data *
110 const Evas_Real *matrix) 111 const Evas_Real *matrix)
111{ 112{
112 evas_mat4_array_set(&pd->projection, matrix); 113 evas_mat4_array_set(&pd->projection, matrix);
113 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL)); 114 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL));
114} 115}
115 116
116EOLIAN static void 117EOLIAN static void
@@ -133,7 +134,7 @@ _evas_canvas3d_camera_projection_perspective_set(Eo *obj, Evas_Canvas3D_Camera_D
133 xmax = ymax * aspect; 134 xmax = ymax * aspect;
134 135
135 evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar); 136 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)); 137 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL));
137} 138}
138 139
139EOLIAN static void 140EOLIAN static void
@@ -143,7 +144,7 @@ _evas_canvas3d_camera_projection_frustum_set(Eo *obj, Evas_Canvas3D_Camera_Data
143 Evas_Real dnear, Evas_Real dfar) 144 Evas_Real dnear, Evas_Real dfar)
144{ 145{
145 evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar); 146 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)); 147 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL));
147} 148}
148 149
149EOLIAN static void 150EOLIAN static void
@@ -153,7 +154,7 @@ _evas_canvas3d_camera_projection_ortho_set(Eo *obj, Evas_Canvas3D_Camera_Data *p
153 Evas_Real dnear, Evas_Real dfar) 154 Evas_Real dnear, Evas_Real dfar)
154{ 155{
155 evas_mat4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar); 156 evas_mat4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar);
156 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL)); 157 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_CAMERA_PROJECTION, NULL));
157} 158}
158 159
159EOLIAN static Eina_Bool 160EOLIAN static Eina_Bool
diff --git a/src/lib/evas/canvas/evas_canvas3d_light.c b/src/lib/evas/canvas/evas_canvas3d_light.c
index d207d9b..f050669 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 eo_do(n, 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
@@ -72,15 +72,16 @@ evas_canvas3d_light_add(Evas *e)
72 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 72 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
73 return NULL; 73 return NULL;
74 MAGIC_CHECK_END(); 74 MAGIC_CHECK_END();
75 Evas_Object *eo_obj = eo_add(MY_CLASS, e); 75 Evas_Object *eo_obj;
76 eo_add(eo_obj, MY_CLASS, e);
76 return eo_obj; 77 return eo_obj;
77} 78}
78 79
79EOLIAN static Eo * 80EOLIAN static Eo *
80_evas_canvas3d_light_eo_base_constructor(Eo *obj, Evas_Canvas3D_Light_Data *pd) 81_evas_canvas3d_light_eo_base_constructor(Eo *obj, Evas_Canvas3D_Light_Data *pd)
81{ 82{
82 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 83 obj = eo_super_eo_constructor( MY_CLASS, obj);
83 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_LIGHT)); 84 eo_do(obj, 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); 85 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); 86 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); 87 evas_color_set(&pd->specular, 1.0, 1.0, 1.0, 1.0);
@@ -115,7 +116,7 @@ _evas_canvas3d_light_eo_base_destructor(Eo *obj, Evas_Canvas3D_Light_Data *pd)
115 eina_hash_free(pd->nodes); 116 eina_hash_free(pd->nodes);
116 } 117 }
117 118
118 eo_do_super(obj, MY_CLASS, eo_destructor()); 119 eo_super_eo_destructor(MY_CLASS, obj);
119} 120}
120 121
121 122
@@ -125,7 +126,7 @@ _evas_canvas3d_light_directional_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Eina
125 if (pd->directional != directional) 126 if (pd->directional != directional)
126 { 127 {
127 pd->directional = directional; 128 pd->directional = directional;
128 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_ANY, NULL)); 129 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_ANY, NULL));
129 } 130 }
130} 131}
131 132
@@ -143,7 +144,7 @@ _evas_canvas3d_light_ambient_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Rea
143 pd->ambient.b = b; 144 pd->ambient.b = b;
144 pd->ambient.a = a; 145 pd->ambient.a = a;
145 146
146 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_AMBIENT, NULL)); 147 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_AMBIENT, NULL));
147} 148}
148 149
149EOLIAN static void 150EOLIAN static void
@@ -163,7 +164,7 @@ _evas_canvas3d_light_diffuse_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Rea
163 pd->diffuse.b = b; 164 pd->diffuse.b = b;
164 pd->diffuse.a = a; 165 pd->diffuse.a = a;
165 166
166 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_DIFFUSE, NULL)); 167 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_DIFFUSE, NULL));
167} 168}
168 169
169EOLIAN static void 170EOLIAN static void
@@ -183,7 +184,7 @@ _evas_canvas3d_light_specular_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Re
183 pd->specular.b = b; 184 pd->specular.b = b;
184 pd->specular.a = a; 185 pd->specular.a = a;
185 186
186 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_SPECULAR, NULL)); 187 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_SPECULAR, NULL));
187} 188}
188 189
189EOLIAN static void 190EOLIAN static void
@@ -199,7 +200,7 @@ EOLIAN static void
199_evas_canvas3d_light_spot_exponent_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Real exponent) 200_evas_canvas3d_light_spot_exponent_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas_Real exponent)
200{ 201{
201 pd->spot_exp = exponent; 202 pd->spot_exp = exponent;
202 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_SPOT_EXP, NULL)); 203 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_SPOT_EXP, NULL));
203} 204}
204 205
205EOLIAN static Evas_Real 206EOLIAN static Evas_Real
@@ -213,7 +214,7 @@ _evas_canvas3d_light_spot_cutoff_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas
213{ 214{
214 pd->spot_cutoff = cutoff; 215 pd->spot_cutoff = cutoff;
215 pd->spot_cutoff_cos = cos(cutoff * M_PI / 180.0); 216 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)); 217 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_SPOT_CUTOFF, NULL));
217} 218}
218 219
219EOLIAN static Evas_Real 220EOLIAN static Evas_Real
@@ -228,7 +229,7 @@ _evas_canvas3d_light_attenuation_set(Eo *obj, Evas_Canvas3D_Light_Data *pd, Evas
228 pd->atten_const = constant; 229 pd->atten_const = constant;
229 pd->atten_linear = linear; 230 pd->atten_linear = linear;
230 pd->atten_quad = quadratic; 231 pd->atten_quad = quadratic;
231 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_ATTENUATION, NULL)); 232 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_ATTENUATION, NULL));
232} 233}
233 234
234EOLIAN static void 235EOLIAN static void
@@ -245,7 +246,7 @@ _evas_canvas3d_light_attenuation_enable_set(Eo *obj, Evas_Canvas3D_Light_Data *p
245 if (pd->enable_attenuation != enable) 246 if (pd->enable_attenuation != enable)
246 { 247 {
247 pd->enable_attenuation = enable; 248 pd->enable_attenuation = enable;
248 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_ATTENUATION, NULL)); 249 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_ATTENUATION, NULL));
249 } 250 }
250} 251}
251 252
@@ -260,7 +261,7 @@ _evas_canvas3d_light_projection_matrix_set(Eo *obj, Evas_Canvas3D_Light_Data *pd
260 const Evas_Real *matrix) 261 const Evas_Real *matrix)
261{ 262{
262 evas_mat4_array_set(&pd->projection, matrix); 263 evas_mat4_array_set(&pd->projection, matrix);
263 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL)); 264 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL));
264} 265}
265 266
266EOLIAN static void 267EOLIAN static void
@@ -283,7 +284,7 @@ _evas_canvas3d_light_projection_perspective_set(Eo *obj, Evas_Canvas3D_Light_Dat
283 xmax = ymax * aspect; 284 xmax = ymax * aspect;
284 285
285 evas_mat4_frustum_set(&pd->projection, -xmax, xmax, -ymax, ymax, dnear, dfar); 286 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)); 287 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL));
287} 288}
288 289
289EOLIAN static void 290EOLIAN static void
@@ -293,7 +294,7 @@ _evas_canvas3d_light_projection_frustum_set(Eo *obj, Evas_Canvas3D_Light_Data *p
293 Evas_Real dnear, Evas_Real dfar) 294 Evas_Real dnear, Evas_Real dfar)
294{ 295{
295 evas_mat4_frustum_set(&pd->projection, left, right, bottom, top, dnear, dfar); 296 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)); 297 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL));
297} 298}
298 299
299EOLIAN static void 300EOLIAN static void
@@ -303,7 +304,7 @@ _evas_canvas3d_light_projection_ortho_set(Eo *obj, Evas_Canvas3D_Light_Data *pd,
303 Evas_Real dnear, Evas_Real dfar) 304 Evas_Real dnear, Evas_Real dfar)
304{ 305{
305 evas_mat4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar); 306 evas_mat4_ortho_set(&pd->projection, left, right, bottom, top, dnear, dfar);
306 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL)); 307 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_LIGHT_PROJECTION, NULL));
307} 308}
308 309
309 310
diff --git a/src/lib/evas/canvas/evas_canvas3d_material.c b/src/lib/evas/canvas/evas_canvas3d_material.c
index 8ce2486..8c8710d 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 eo_do(m, 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 eo_do(pd->attribs[i].texture, evas_canvas3d_object_update(pd->attribs[i].texture));
33 } 33 }
34 } 34 }
35 } 35 }
@@ -84,15 +84,16 @@ evas_canvas3d_material_add(Evas *e)
84 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 84 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
85 return NULL; 85 return NULL;
86 MAGIC_CHECK_END(); 86 MAGIC_CHECK_END();
87 Evas_Object *eo_obj = eo_add(MY_CLASS, e); 87 Evas_Object *eo_obj;
88 eo_add(eo_obj, MY_CLASS, e);
88 return eo_obj; 89 return eo_obj;
89} 90}
90 91
91EOLIAN static Eo * 92EOLIAN static Eo *
92_evas_canvas3d_material_eo_base_constructor(Eo *obj EINA_UNUSED, Evas_Canvas3D_Material_Data *pd) 93_evas_canvas3d_material_eo_base_constructor(Eo *obj EINA_UNUSED, Evas_Canvas3D_Material_Data *pd)
93{ 94{
94 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 95 obj = eo_super_eo_constructor( MY_CLASS, obj);
95 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_MATERIAL)); 96 eo_do(obj, evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_MATERIAL));
96 97
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_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); 99 evas_color_set(&pd->attribs[EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE].color, 0.8, 0.8, 0.8, 1.0);
@@ -136,7 +137,7 @@ _evas_canvas3d_material_eo_base_destructor(Eo *obj, Evas_Canvas3D_Material_Data
136 evas_canvas3d_texture_material_del(pd->attribs[i].texture, obj); 137 evas_canvas3d_texture_material_del(pd->attribs[i].texture, obj);
137 } 138 }
138 } 139 }
139 eo_do_super(obj, MY_CLASS, eo_destructor()); 140 eo_super_eo_destructor(MY_CLASS, obj);
140} 141}
141 142
142EOLIAN static void 143EOLIAN static void
@@ -155,7 +156,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) 156_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{ 157{
157 evas_color_set(&pd->attribs[attrib].color, r, g, b, a); 158 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)); 159 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MATERIAL_COLOR, NULL));
159} 160}
160 161
161EOLIAN static void 162EOLIAN static void
@@ -195,7 +196,7 @@ _evas_canvas3d_material_texture_set(Eo *obj, Evas_Canvas3D_Material_Data *pd, Ev
195 eo_ref(texture); 196 eo_ref(texture);
196 } 197 }
197 198
198 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MATERIAL_TEXTURE, NULL)); 199 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MATERIAL_TEXTURE, NULL));
199} 200}
200 201
201EOLIAN static Evas_Canvas3D_Texture * 202EOLIAN 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 e7bc091..bd6c330 100644
--- a/src/lib/evas/canvas/evas_canvas3d_mesh.c
+++ b/src/lib/evas/canvas/evas_canvas3d_mesh.c
@@ -165,7 +165,7 @@ _mesh_node_geometry_change_notify(const Eina_Hash *hash EINA_UNUSED, const void
165 void *data EINA_UNUSED, void *fdata) 165 void *data EINA_UNUSED, void *fdata)
166{ 166{
167 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key; 167 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key;
168 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, (Evas_Canvas3D_Object *)fdata)); 168 eo_do(n, evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, (Evas_Canvas3D_Object *)fdata));
169 return EINA_TRUE; 169 return EINA_TRUE;
170} 170}
171 171
@@ -174,7 +174,7 @@ _mesh_node_material_change_notify(const Eina_Hash *hash EINA_UNUSED, const void
174 void *data EINA_UNUSED, void *fdata) 174 void *data EINA_UNUSED, void *fdata)
175{ 175{
176 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key; 176 Evas_Canvas3D_Node *n = *(Evas_Canvas3D_Node **)key;
177 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, (Evas_Canvas3D_Object *)fdata)); 177 eo_do(n, evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, (Evas_Canvas3D_Object *)fdata));
178 return EINA_TRUE; 178 return EINA_TRUE;
179} 179}
180 180
@@ -203,7 +203,7 @@ _evas_canvas3d_mesh_evas_canvas3d_object_update_notify(Eo *obj EINA_UNUSED, Evas
203 { 203 {
204 if (f->material) 204 if (f->material)
205 { 205 {
206 eo_do(f->material, evas_canvas3d_object_update()); 206 eo_do(f->material, evas_canvas3d_object_update(f->material));
207 } 207 }
208 } 208 }
209} 209}
@@ -256,15 +256,16 @@ evas_canvas3d_mesh_add(Evas *e)
256 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 256 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
257 return NULL; 257 return NULL;
258 MAGIC_CHECK_END(); 258 MAGIC_CHECK_END();
259 Evas_Object *eo_obj = eo_add(MY_CLASS, e); 259 Evas_Object *eo_obj;
260 eo_add(eo_obj, MY_CLASS, e);
260 return eo_obj; 261 return eo_obj;
261} 262}
262 263
263EOLIAN static Eo * 264EOLIAN static Eo *
264_evas_canvas3d_mesh_eo_base_constructor(Eo *obj, Evas_Canvas3D_Mesh_Data *pd) 265_evas_canvas3d_mesh_eo_base_constructor(Eo *obj, Evas_Canvas3D_Mesh_Data *pd)
265{ 266{
266 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 267 obj = eo_super_eo_constructor( MY_CLASS, obj);
267 eo_do (obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_MESH)); 268 eo_do (obj, evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_MESH));
268 _mesh_init(pd); 269 _mesh_init(pd);
269 270
270 return obj; 271 return obj;
@@ -274,7 +275,7 @@ EOLIAN static void
274_evas_canvas3d_mesh_eo_base_destructor(Eo *obj, Evas_Canvas3D_Mesh_Data *pd) 275_evas_canvas3d_mesh_eo_base_destructor(Eo *obj, Evas_Canvas3D_Mesh_Data *pd)
275{ 276{
276 _mesh_fini(pd); 277 _mesh_fini(pd);
277 eo_do_super(obj, MY_CLASS, eo_destructor()); 278 eo_super_eo_destructor(MY_CLASS, obj);
278} 279}
279 280
280EOLIAN static void 281EOLIAN static void
@@ -283,7 +284,7 @@ _evas_canvas3d_mesh_shade_mode_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Mesh_Data
283 if (pd->shade_mode != mode) 284 if (pd->shade_mode != mode)
284 { 285 {
285 pd->shade_mode = mode; 286 pd->shade_mode = mode;
286 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_SHADE_MODE, NULL)); 287 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_SHADE_MODE, NULL));
287 } 288 }
288} 289}
289 290
@@ -297,7 +298,7 @@ EOLIAN static void
297_evas_canvas3d_mesh_vertex_count_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, unsigned int count) 298_evas_canvas3d_mesh_vertex_count_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, unsigned int count)
298{ 299{
299 pd->vertex_count = count; 300 pd->vertex_count = count;
300 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_VERTEX_COUNT, NULL)); 301 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_VERTEX_COUNT, NULL));
301} 302}
302 303
303EOLIAN static unsigned int 304EOLIAN static unsigned int
@@ -335,7 +336,7 @@ _evas_canvas3d_mesh_frame_add(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, int frame)
335 336
336 f->frame = frame; 337 f->frame = frame;
337 pd->frames = eina_list_append(pd->frames, f); 338 pd->frames = eina_list_append(pd->frames, f);
338 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_FRAME, NULL)); 339 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_FRAME, NULL));
339} 340}
340 341
341EOLIAN static void 342EOLIAN static void
@@ -351,7 +352,7 @@ _evas_canvas3d_mesh_frame_del(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, int frame)
351 352
352 pd->frames = eina_list_remove(pd->frames, f); 353 pd->frames = eina_list_remove(pd->frames, f);
353 evas_canvas3d_mesh_frame_free(f); 354 evas_canvas3d_mesh_frame_free(f);
354 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_FRAME, NULL)); 355 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_FRAME, NULL));
355} 356}
356 357
357EOLIAN static void 358EOLIAN static void
@@ -376,7 +377,7 @@ _evas_canvas3d_mesh_frame_material_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, int
376 377
377 f->material = material; 378 f->material = material;
378 eo_ref(material); 379 eo_ref(material);
379 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_MATERIAL, NULL)); 380 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_MATERIAL, NULL));
380 evas_canvas3d_material_mesh_add(material, obj); 381 evas_canvas3d_material_mesh_add(material, obj);
381} 382}
382 383
@@ -479,7 +480,7 @@ _evas_canvas3d_mesh_frame_vertex_data_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd,
479 f->vertices[attrib].owns_data = EINA_FALSE; 480 f->vertices[attrib].owns_data = EINA_FALSE;
480 f->vertices[attrib].element_count = element_count; 481 f->vertices[attrib].element_count = element_count;
481 482
482 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_VERTEX_DATA, NULL)); 483 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_VERTEX_DATA, NULL));
483} 484}
484 485
485EOLIAN static void 486EOLIAN static void
@@ -603,7 +604,7 @@ _evas_canvas3d_mesh_frame_vertex_data_copy_set(Eo *obj, Evas_Canvas3D_Mesh_Data
603 ERR("Axis-Aligned Bounding Box wasn't added in frame %d ", frame); 604 ERR("Axis-Aligned Bounding Box wasn't added in frame %d ", frame);
604 } 605 }
605 606
606 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_VERTEX_DATA, NULL)); 607 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_VERTEX_DATA, NULL));
607} 608}
608 609
609EOLIAN static void * 610EOLIAN static void *
@@ -673,7 +674,7 @@ _evas_canvas3d_mesh_index_data_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Ca
673 pd->indices = (void *)indices; 674 pd->indices = (void *)indices;
674 pd->owns_indices = EINA_FALSE; 675 pd->owns_indices = EINA_FALSE;
675 676
676 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_INDEX_DATA, NULL)); 677 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_INDEX_DATA, NULL));
677} 678}
678 679
679EOLIAN static void 680EOLIAN static void
@@ -760,7 +761,7 @@ EOLIAN static void
760_evas_canvas3d_mesh_vertex_assembly_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Canvas3D_Vertex_Assembly assembly) 761_evas_canvas3d_mesh_vertex_assembly_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Canvas3D_Vertex_Assembly assembly)
761{ 762{
762 pd->assembly = assembly; 763 pd->assembly = assembly;
763 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_VERTEX_ASSEMBLY, NULL)); 764 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_VERTEX_ASSEMBLY, NULL));
764} 765}
765 766
766EOLIAN static Evas_Canvas3D_Vertex_Assembly 767EOLIAN static Evas_Canvas3D_Vertex_Assembly
@@ -773,7 +774,7 @@ EOLIAN static void
773_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) 774_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)
774{ 775{
775 evas_color_set(&pd->fog_color, r, g, b, a); 776 evas_color_set(&pd->fog_color, r, g, b, a);
776 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_FOG, NULL)); 777 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_FOG, NULL));
777} 778}
778 779
779EOLIAN static void 780EOLIAN static void
@@ -790,7 +791,7 @@ EOLIAN static void
790_evas_canvas3d_mesh_fog_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool enabled) 791_evas_canvas3d_mesh_fog_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool enabled)
791{ 792{
792 pd->fog_enabled = enabled; 793 pd->fog_enabled = enabled;
793 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_FOG, NULL)); 794 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_FOG, NULL));
794} 795}
795 796
796EOLIAN static Eina_Bool 797EOLIAN static Eina_Bool
@@ -803,7 +804,7 @@ EOLIAN static void
803_evas_canvas3d_mesh_blending_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool blending) 804_evas_canvas3d_mesh_blending_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool blending)
804{ 805{
805 pd->blending = blending; 806 pd->blending = blending;
806 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_BLENDING, NULL)); 807 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_BLENDING, NULL));
807} 808}
808 809
809EOLIAN static Eina_Bool 810EOLIAN static Eina_Bool
@@ -817,7 +818,7 @@ _evas_canvas3d_mesh_blending_func_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas
817{ 818{
818 pd->blend_sfactor = sfactor; 819 pd->blend_sfactor = sfactor;
819 pd->blend_dfactor = dfactor; 820 pd->blend_dfactor = dfactor;
820 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_BLENDING, NULL)); 821 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_BLENDING, NULL));
821} 822}
822 823
823EOLIAN static void 824EOLIAN static void
@@ -836,7 +837,7 @@ _evas_canvas3d_mesh_alpha_func_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Evas_Ca
836 return; 837 return;
837 pd->alpha_comparison = comparison; 838 pd->alpha_comparison = comparison;
838 pd->alpha_ref_value = ref_value; 839 pd->alpha_ref_value = ref_value;
839 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_ALPHA_TEST, NULL)); 840 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_ALPHA_TEST, NULL));
840} 841}
841 842
842EOLIAN static void 843EOLIAN static void
@@ -852,7 +853,7 @@ EOLIAN static void
852_evas_canvas3d_mesh_alpha_test_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool enabled) 853_evas_canvas3d_mesh_alpha_test_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd, Eina_Bool enabled)
853{ 854{
854 pd->alpha_test_enabled = enabled; 855 pd->alpha_test_enabled = enabled;
855 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_ALPHA_TEST, NULL)); 856 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_ALPHA_TEST, NULL));
856} 857}
857 858
858EOLIAN static Eina_Bool 859EOLIAN static Eina_Bool
@@ -1089,7 +1090,7 @@ _evas_canvas3d_mesh_color_pick_enable_set(Eo *obj, Evas_Canvas3D_Mesh_Data *pd,
1089{ 1090{
1090 if (pd->color_pick_enabled != enabled) 1091 if (pd->color_pick_enabled != enabled)
1091 pd->color_pick_enabled = enabled; 1092 pd->color_pick_enabled = enabled;
1092 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_COLOR_PICK, NULL)); 1093 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_COLOR_PICK, NULL));
1093} 1094}
1094 1095
1095EOLIAN static void 1096EOLIAN static void
@@ -1100,7 +1101,7 @@ _evas_canvas3d_mesh_shadows_edges_filtering_set(Eo *obj, Evas_Canvas3D_Mesh_Data
1100 pd->shadows_edges_filtering_level = blur_level; 1101 pd->shadows_edges_filtering_level = blur_level;
1101 if (edges_size >= 0) 1102 if (edges_size >= 0)
1102 pd->shadows_edges_size = edges_size; 1103 pd->shadows_edges_size = edges_size;
1103 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_SHADOWS_EDGES_FILTERING, NULL)); 1104 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_SHADOWS_EDGES_FILTERING, NULL));
1104} 1105}
1105 1106
1106EOLIAN static void 1107EOLIAN static void
@@ -1118,7 +1119,7 @@ _evas_canvas3d_mesh_shadows_constant_bias_set(Eo *obj EINA_UNUSED, Evas_Canvas3D
1118 if (pd->shadows_constant_bias != bias) 1119 if (pd->shadows_constant_bias != bias)
1119 { 1120 {
1120 pd->shadows_constant_bias = bias; 1121 pd->shadows_constant_bias = bias;
1121 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_MESH_SHADOWS_CONSTANT_BIAS, NULL)); 1122 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_MESH_SHADOWS_CONSTANT_BIAS, NULL));
1122 } 1123 }
1123} 1124}
1124 1125
diff --git a/src/lib/evas/canvas/evas_canvas3d_node.c b/src/lib/evas/canvas/evas_canvas3d_node.c
index a484928..b665f57 100644
--- a/src/lib/evas/canvas/evas_canvas3d_node.c
+++ b/src/lib/evas/canvas/evas_canvas3d_node.c
@@ -98,7 +98,7 @@ _evas_canvas3d_node_private_callback_collision(void *data, Eo *obj EINA_UNUSED,
98 { 98 {
99 pd = eo_data_scope_get(n, EVAS_CANVAS3D_NODE_CLASS); 99 pd = eo_data_scope_get(n, EVAS_CANVAS3D_NODE_CLASS);
100 if (box_intersection_box(&pd_target->aabb, &pd->aabb)) 100 if (box_intersection_box(&pd_target->aabb, &pd->aabb))
101 eo_do(target_node, ret = eo_event_callback_call(eo_desc, n)); 101 eo_do(target_node, ret = eo_event_callback_call(target_node, eo_desc, n));
102 } 102 }
103 return ret; 103 return ret;
104 } 104 }
@@ -111,7 +111,7 @@ _evas_canvas3d_node_private_callback_clicked(void *data EINA_UNUSED, Eo *obj EIN
111{ 111{
112 Eina_Bool ret = EINA_FALSE; 112 Eina_Bool ret = EINA_FALSE;
113 const Eo_Event_Description *eo_desc = eo_base_legacy_only_event_description_get("clicked"); 113 const Eo_Event_Description *eo_desc = eo_base_legacy_only_event_description_get("clicked");
114 eo_do((Eo *)event_info, ret = eo_event_callback_call(eo_desc, event_info)); 114 eo_do((Eo *)event_info, ret = eo_event_callback_call((Eo*)event_info, eo_desc, event_info));
115 115
116 return ret; 116 return ret;
117} 117}
@@ -151,7 +151,7 @@ _node_scene_root_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *ke
151 void *data EINA_UNUSED, void *fdata) 151 void *data EINA_UNUSED, void *fdata)
152{ 152{
153 Evas_Canvas3D_Scene *s = *(Evas_Canvas3D_Scene **)key; 153 Evas_Canvas3D_Scene *s = *(Evas_Canvas3D_Scene **)key;
154 eo_do(s, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_ROOT_NODE, (Evas_Canvas3D_Object *)fdata)); 154 eo_do(s, evas_canvas3d_object_change(s, EVAS_CANVAS3D_STATE_SCENE_ROOT_NODE, (Evas_Canvas3D_Object *)fdata));
155 return EINA_TRUE; 155 return EINA_TRUE;
156} 156}
157 157
@@ -160,7 +160,7 @@ _node_scene_camera_change_notify(const Eina_Hash *hash EINA_UNUSED, const void *
160 void *data EINA_UNUSED, void *fdata) 160 void *data EINA_UNUSED, void *fdata)
161{ 161{
162 Evas_Canvas3D_Scene *s = *(Evas_Canvas3D_Scene **)key; 162 Evas_Canvas3D_Scene *s = *(Evas_Canvas3D_Scene **)key;
163 eo_do(s, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_CAMERA_NODE, (Evas_Canvas3D_Object *)fdata)); 163 eo_do(s, evas_canvas3d_object_change(s, EVAS_CANVAS3D_STATE_SCENE_CAMERA_NODE, (Evas_Canvas3D_Object *)fdata));
164 return EINA_TRUE; 164 return EINA_TRUE;
165} 165}
166 166
@@ -188,7 +188,7 @@ _evas_canvas3d_node_evas_canvas3d_object_change_notify(Eo *obj, Evas_Canvas3D_No
188 /* Notify parent that a member has changed. */ 188 /* Notify parent that a member has changed. */
189 if (pd->parent && !parent_change) 189 if (pd->parent && !parent_change)
190 { 190 {
191 eo_do(pd->parent, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MEMBER, obj)); 191 eo_do(pd->parent, evas_canvas3d_object_change(pd->parent, EVAS_CANVAS3D_STATE_NODE_MEMBER, obj));
192 } 192 }
193 193
194 orientation = (state == EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION) 194 orientation = (state == EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION)
@@ -202,7 +202,7 @@ _evas_canvas3d_node_evas_canvas3d_object_change_notify(Eo *obj, Evas_Canvas3D_No
202 if (scale) 202 if (scale)
203 EINA_LIST_FOREACH(pd->members, l, n) 203 EINA_LIST_FOREACH(pd->members, l, n)
204 { 204 {
205 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, obj)); 205 eo_do(n, evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, obj));
206 } 206 }
207 if (orientation && !(pd->billboard_target)) 207 if (orientation && !(pd->billboard_target))
208 EINA_LIST_FOREACH(pd->members, l, n) 208 EINA_LIST_FOREACH(pd->members, l, n)
@@ -211,12 +211,12 @@ _evas_canvas3d_node_evas_canvas3d_object_change_notify(Eo *obj, Evas_Canvas3D_No
211 Evas_Canvas3D_Node_Data *pdm = eo_data_scope_get(n, EVAS_CANVAS3D_NODE_CLASS); 211 Evas_Canvas3D_Node_Data *pdm = eo_data_scope_get(n, EVAS_CANVAS3D_NODE_CLASS);
212 if (pdm->billboard_target) 212 if (pdm->billboard_target)
213 continue; 213 continue;
214 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, obj)); 214 eo_do(n, evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, obj));
215 } 215 }
216 if (position) 216 if (position)
217 EINA_LIST_FOREACH(pd->members, l, n) 217 EINA_LIST_FOREACH(pd->members, l, n)
218 { 218 {
219 eo_do(n, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, obj)); 219 eo_do(n, evas_canvas3d_object_change(n, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, obj));
220 } 220 }
221} 221}
222 222
@@ -229,7 +229,7 @@ _evas_canvas3d_node_evas_canvas3d_object_callback_register(Eo *obj, Evas_Canvas3
229 GET_CALLBACK_TYPE(tcb, event) 229 GET_CALLBACK_TYPE(tcb, event)
230 230
231 if (tcb != PRIVATE_CALLBACK_NONE) 231 if (tcb != PRIVATE_CALLBACK_NONE)
232 eo_do(obj, eo_event_callback_add(&evas_canvas3d_node_private_event_desc[tcb], 232 eo_do(obj, eo_event_callback_add(obj, &evas_canvas3d_node_private_event_desc[tcb],
233 evas_canvas3d_node_private_callback_functions[tcb], data)); 233 evas_canvas3d_node_private_callback_functions[tcb], data));
234 234
235} 235}
@@ -243,7 +243,7 @@ _evas_canvas3d_node_evas_canvas3d_object_callback_unregister(Eo *obj, Evas_Canva
243 GET_CALLBACK_TYPE(tcb, event) 243 GET_CALLBACK_TYPE(tcb, event)
244 244
245 if (tcb != PRIVATE_CALLBACK_NONE) 245 if (tcb != PRIVATE_CALLBACK_NONE)
246 eo_do(obj, eo_event_callback_del(&evas_canvas3d_node_private_event_desc[tcb], 246 eo_do(obj, eo_event_callback_del(obj, &evas_canvas3d_node_private_event_desc[tcb],
247 evas_canvas3d_node_private_callback_functions[tcb], NULL)); 247 evas_canvas3d_node_private_callback_functions[tcb], NULL));
248} 248}
249 249
@@ -254,12 +254,12 @@ _node_transform_update(Evas_Canvas3D_Node *node, void *data EINA_UNUSED)
254 Eina_Bool transform_dirty = EINA_FALSE, parent_dirty = EINA_FALSE; 254 Eina_Bool transform_dirty = EINA_FALSE, parent_dirty = EINA_FALSE;
255 255
256 eo_do(node, 256 eo_do(node,
257 transform_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION), 257 transform_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION),
258 transform_dirty|= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION), 258 transform_dirty|= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION),
259 transform_dirty|= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE), 259 transform_dirty|= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE),
260 parent_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION), 260 parent_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION),
261 parent_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION), 261 parent_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION),
262 parent_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE)); 262 parent_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE));
263 263
264 if (transform_dirty || parent_dirty) 264 if (transform_dirty || parent_dirty)
265 { 265 {
@@ -385,14 +385,14 @@ _node_item_update(Evas_Canvas3D_Node *node, void *data EINA_UNUSED)
385 { 385 {
386 if (pd->data.camera.camera) 386 if (pd->data.camera.camera)
387 { 387 {
388 eo_do(pd->data.camera.camera, evas_canvas3d_object_update()); 388 eo_do(pd->data.camera.camera, evas_canvas3d_object_update(pd->data.camera.camera));
389 } 389 }
390 } 390 }
391 else if (pd->type == EVAS_CANVAS3D_NODE_TYPE_LIGHT) 391 else if (pd->type == EVAS_CANVAS3D_NODE_TYPE_LIGHT)
392 { 392 {
393 if (pd->data.light.light) 393 if (pd->data.light.light)
394 { 394 {
395 eo_do(pd->data.light.light, evas_canvas3d_object_update()); 395 eo_do(pd->data.light.light, evas_canvas3d_object_update(pd->data.light.light));
396 } 396 }
397 } 397 }
398 else if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH) 398 else if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH)
@@ -401,7 +401,7 @@ _node_item_update(Evas_Canvas3D_Node *node, void *data EINA_UNUSED)
401 Evas_Canvas3D_Mesh *m; 401 Evas_Canvas3D_Mesh *m;
402 EINA_LIST_FOREACH(pd->data.mesh.meshes, l, m) 402 EINA_LIST_FOREACH(pd->data.mesh.meshes, l, m)
403 { 403 {
404 eo_do(m, evas_canvas3d_object_update()); 404 eo_do(m, evas_canvas3d_object_update(m));
405 } 405 }
406 } 406 }
407 407
@@ -518,10 +518,10 @@ _pack_meshes_vertex_data(Evas_Canvas3D_Node *node, Evas_Vec3 **vertices, int *co
518 Evas_Real pos_weight; 518 Evas_Real pos_weight;
519 519
520 *count = 0; 520 *count = 0;
521 eo_do(node, m = (Eina_List *)evas_canvas3d_node_mesh_list_get()); 521 eo_do(node, m = (Eina_List *)evas_canvas3d_node_mesh_list_get(node));
522 EINA_LIST_FOREACH(m, l, mesh) 522 EINA_LIST_FOREACH(m, l, mesh)
523 { 523 {
524 eo_do(node, frame = evas_canvas3d_node_mesh_frame_get(mesh)); 524 eo_do(node, frame = evas_canvas3d_node_mesh_frame_get(node, mesh));
525 evas_canvas3d_mesh_interpolate_vertex_buffer_get(mesh, frame, EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION, 525 evas_canvas3d_mesh_interpolate_vertex_buffer_get(mesh, frame, EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION,
526 &pos0, &pos1, &pos_weight); 526 &pos0, &pos1, &pos_weight);
527 if(!pos0.data) continue; 527 if(!pos0.data) continue;
@@ -544,7 +544,7 @@ _pack_meshes_vertex_data(Evas_Canvas3D_Node *node, Evas_Vec3 **vertices, int *co
544 544
545 EINA_LIST_FOREACH(m, l, mesh) 545 EINA_LIST_FOREACH(m, l, mesh)
546 { 546 {
547 eo_do(node, frame = evas_canvas3d_node_mesh_frame_get(mesh)); 547 eo_do(node, frame = evas_canvas3d_node_mesh_frame_get(node, mesh));
548 evas_canvas3d_mesh_interpolate_vertex_buffer_get(mesh, frame, EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION, 548 evas_canvas3d_mesh_interpolate_vertex_buffer_get(mesh, frame, EVAS_CANVAS3D_VERTEX_ATTRIB_POSITION,
549 &pos0, &pos1, &pos_weight); 549 &pos0, &pos1, &pos_weight);
550 if(!pos0.data) continue; 550 if(!pos0.data) continue;
@@ -593,12 +593,12 @@ _update_node_shapes(Evas_Canvas3D_Node *node)
593 } 593 }
594 594
595 eo_do(node, 595 eo_do(node,
596 transform_orientation_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION), 596 transform_orientation_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION),
597 transform_orientation_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION), 597 transform_orientation_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION),
598 transform_scale_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE), 598 transform_scale_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE),
599 transform_scale_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE), 599 transform_scale_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE),
600 mesh_geom_dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY), 600 mesh_geom_dirty = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY),
601 mesh_geom_dirty |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_MESH_FRAME)); 601 mesh_geom_dirty |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_MESH_FRAME));
602 602
603 if ( transform_orientation_dirty || transform_scale_dirty || mesh_geom_dirty) 603 if ( transform_orientation_dirty || transform_scale_dirty || mesh_geom_dirty)
604 { 604 {
@@ -641,15 +641,15 @@ _node_aabb_update(Evas_Canvas3D_Node *node, void *data EINA_UNUSED)
641 const Eo_Event_Description *eo_desc = NULL; 641 const Eo_Event_Description *eo_desc = NULL;
642 642
643 eo_do(node, 643 eo_do(node,
644 need_recalc = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION), 644 need_recalc = evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION),
645 need_recalc |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION), 645 need_recalc |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION),
646 need_recalc |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION), 646 need_recalc |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION),
647 need_recalc |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION), 647 need_recalc |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION),
648 need_recalc |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE), 648 need_recalc |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE),
649 need_recalc |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE), 649 need_recalc |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE),
650 need_recalc |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY), 650 need_recalc |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY),
651 need_recalc |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_MESH_FRAME), 651 need_recalc |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_MESH_FRAME),
652 need_recalc |= evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_NODE_MEMBER)); 652 need_recalc |= evas_canvas3d_object_dirty_get(node, EVAS_CANVAS3D_STATE_NODE_MEMBER));
653 653
654 if (!need_recalc) return EINA_TRUE; 654 if (!need_recalc) return EINA_TRUE;
655 655
@@ -664,7 +664,7 @@ _node_aabb_update(Evas_Canvas3D_Node *node, void *data EINA_UNUSED)
664 664
665 evas_build_sphere(&pd->aabb, &pd->bsphere); 665 evas_build_sphere(&pd->aabb, &pd->bsphere);
666 eo_desc = eo_base_legacy_only_event_description_get("collision,private"); 666 eo_desc = eo_base_legacy_only_event_description_get("collision,private");
667 eo_do(node, eo_event_callback_call(eo_desc, (void *)node)); 667 eo_do(node, eo_event_callback_call(node, eo_desc, (void *)node));
668 668
669 return EINA_TRUE; 669 return EINA_TRUE;
670} 670}
@@ -720,7 +720,7 @@ _node_free(Evas_Canvas3D_Object *obj)
720 720
721 if (pd->parent) 721 if (pd->parent)
722 { 722 {
723 eo_do(pd->parent, evas_canvas3d_node_member_del(obj)); 723 eo_do(pd->parent, evas_canvas3d_node_member_del(pd->parent, obj));
724 } 724 }
725 725
726 if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH && pd->data.mesh.meshes) 726 if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH && pd->data.mesh.meshes)
@@ -1043,7 +1043,7 @@ evas_canvas3d_node_mesh_collect(Evas_Canvas3D_Node *node, void *data)
1043 scene_data->mesh_nodes = eina_list_append(scene_data->mesh_nodes, node); 1043 scene_data->mesh_nodes = eina_list_append(scene_data->mesh_nodes, node);
1044 1044
1045 /* calculation of tangent space for all meshes */ 1045 /* calculation of tangent space for all meshes */
1046 eo_do (node, list_meshes = (Eina_List *)evas_canvas3d_node_mesh_list_get()); 1046 eo_do (node, list_meshes = (Eina_List *)evas_canvas3d_node_mesh_list_get(node));
1047 EINA_LIST_FOREACH(list_meshes, l, mesh) 1047 EINA_LIST_FOREACH(list_meshes, l, mesh)
1048 { 1048 {
1049 mesh_pd = eo_data_scope_get(mesh, MY_CLASS); 1049 mesh_pd = eo_data_scope_get(mesh, MY_CLASS);
@@ -1082,7 +1082,7 @@ evas_canvas3d_node_mesh_collect(Evas_Canvas3D_Node *node, void *data)
1082 evas_tangent_space_get(vertex_data, tex_data, normal_data, index, mesh_pd->vertex_count, 1082 evas_tangent_space_get(vertex_data, tex_data, normal_data, index, mesh_pd->vertex_count,
1083 mesh_pd->index_count, stride, tex_stride, normal_stride, &tangent_data); 1083 mesh_pd->index_count, stride, tex_stride, normal_stride, &tangent_data);
1084 1084
1085 eo_do(mesh, evas_canvas3d_mesh_frame_vertex_data_copy_set(0, EVAS_CANVAS3D_VERTEX_ATTRIB_TANGENT, 3 * sizeof(float), tangent_data)); 1085 eo_do(mesh, evas_canvas3d_mesh_frame_vertex_data_copy_set(mesh, 0, EVAS_CANVAS3D_VERTEX_ATTRIB_TANGENT, 3 * sizeof(float), tangent_data));
1086 free(tangent_data); 1086 free(tangent_data);
1087 } 1087 }
1088 } 1088 }
@@ -1113,15 +1113,15 @@ evas_canvas3d_node_color_node_mesh_collect(Evas_Canvas3D_Node *node, void *data)
1113 if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH) 1113 if (pd->type == EVAS_CANVAS3D_NODE_TYPE_MESH)
1114 { 1114 {
1115 eo_do(camera, 1115 eo_do(camera,
1116 visible = evas_canvas3d_camera_node_visible_get(scene_data->camera_node, 1116 visible = evas_canvas3d_camera_node_visible_get(camera, scene_data->camera_node,
1117 node, EVAS_CANVAS3D_FRUSTUM_MODE_BSPHERE)); 1117 node, EVAS_CANVAS3D_FRUSTUM_MODE_BSPHERE));
1118 if (visible) 1118 if (visible)
1119 { 1119 {
1120 eo_do (node, list_meshes = (Eina_List *)evas_canvas3d_node_mesh_list_get()); 1120 eo_do (node, list_meshes = (Eina_List *)evas_canvas3d_node_mesh_list_get(node));
1121 EINA_LIST_FOREACH(list_meshes, l, mesh) 1121 EINA_LIST_FOREACH(list_meshes, l, mesh)
1122 { 1122 {
1123 Eina_Bool tmp; 1123 Eina_Bool tmp;
1124 if (eo_do_ret(mesh, tmp, evas_canvas3d_mesh_color_pick_enable_get())) 1124 if (eo_do_ret(mesh, tmp, evas_canvas3d_mesh_color_pick_enable_get(mesh)))
1125 { 1125 {
1126 color = calloc(1, sizeof(Evas_Color)); 1126 color = calloc(1, sizeof(Evas_Color));
1127 1127
@@ -1164,14 +1164,15 @@ evas_canvas3d_node_add(Evas *e, Evas_Canvas3D_Node_Type type)
1164 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 1164 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
1165 return NULL; 1165 return NULL;
1166 MAGIC_CHECK_END(); 1166 MAGIC_CHECK_END();
1167 Evas_Object *eo_obj = eo_add(MY_CLASS, e, evas_canvas3d_node_constructor(type)); 1167 Evas_Object *eo_obj;
1168 eo_add(eo_obj, MY_CLASS, e, evas_canvas3d_node_constructor(NULL, type));
1168 return eo_obj; 1169 return eo_obj;
1169} 1170}
1170 1171
1171EOLIAN static void 1172EOLIAN static void
1172_evas_canvas3d_node_constructor(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3D_Node_Type type) 1173_evas_canvas3d_node_constructor(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3D_Node_Type type)
1173{ 1174{
1174 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_NODE)); 1175 eo_do(obj, evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_NODE));
1175 1176
1176 evas_vec3_set(&pd->position, 0.0, 0.0, 0.0); 1177 evas_vec3_set(&pd->position, 0.0, 0.0, 0.0);
1177 evas_vec4_set(&pd->orientation, 0.0, 0.0, 0.0, 1.0); 1178 evas_vec4_set(&pd->orientation, 0.0, 0.0, 0.0, 1.0);
@@ -1207,7 +1208,7 @@ _evas_canvas3d_node_eo_base_destructor(Eo *obj, Evas_Canvas3D_Node_Data *pd EINA
1207{ 1208{
1208 _node_free(obj); 1209 _node_free(obj);
1209 1210
1210 eo_do_super(obj, MY_CLASS, eo_destructor()); 1211 eo_super_eo_destructor(MY_CLASS, obj);
1211} 1212}
1212 1213
1213EOLIAN static Evas_Canvas3D_Node_Type 1214EOLIAN static Evas_Canvas3D_Node_Type
@@ -1235,7 +1236,7 @@ _evas_canvas3d_node_member_add(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas
1235 pdmemberparent->members = eina_list_remove(pdmemberparent->members, member); 1236 pdmemberparent->members = eina_list_remove(pdmemberparent->members, member);
1236 1237
1237 /* Mark changed. */ 1238 /* Mark changed. */
1238 eo_do(pdmember->parent, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL)); 1239 eo_do(pdmember->parent, evas_canvas3d_object_change(pdmember->parent, EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL));
1239 } 1240 }
1240 else 1241 else
1241 { 1242 {
@@ -1248,10 +1249,10 @@ _evas_canvas3d_node_member_add(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas
1248 pdmember->parent = obj; 1249 pdmember->parent = obj;
1249 1250
1250 /* Mark changed. */ 1251 /* Mark changed. */
1251 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL)); 1252 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL));
1252 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, NULL)); 1253 eo_do(member, evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, NULL));
1253 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, NULL)); 1254 eo_do(member, evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, NULL));
1254 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, NULL)); 1255 eo_do(member, evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, NULL));
1255} 1256}
1256 1257
1257EOLIAN static void 1258EOLIAN static void
@@ -1269,10 +1270,10 @@ _evas_canvas3d_node_member_del(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas
1269 pdmember->parent = NULL; 1270 pdmember->parent = NULL;
1270 1271
1271 /* Mark modified object as changed. */ 1272 /* Mark modified object as changed. */
1272 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL)); 1273 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MEMBER, NULL));
1273 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, NULL)); 1274 eo_do(member, evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_ORIENTATION, NULL));
1274 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, NULL)); 1275 eo_do(member, evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_POSITION, NULL));
1275 eo_do(member, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, NULL)); 1276 eo_do(member, evas_canvas3d_object_change(member, EVAS_CANVAS3D_STATE_NODE_PARENT_SCALE, NULL));
1276 1277
1277 /* Decrease reference count. */ 1278 /* Decrease reference count. */
1278 eo_unref(member); 1279 eo_unref(member);
@@ -1297,7 +1298,7 @@ _evas_canvas3d_node_position_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Real
1297 pd->position.y = y; 1298 pd->position.y = y;
1298 pd->position.z = z; 1299 pd->position.z = z;
1299 1300
1300 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION, NULL)); 1301 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION, NULL));
1301} 1302}
1302 1303
1303EOLIAN static void 1304EOLIAN static void
@@ -1308,7 +1309,7 @@ _evas_canvas3d_node_orientation_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_R
1308 pd->orientation.z = z; 1309 pd->orientation.z = z;
1309 pd->orientation.w = w; 1310 pd->orientation.w = w;
1310 1311
1311 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); 1312 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL));
1312} 1313}
1313 1314
1314EOLIAN static void 1315EOLIAN static void
@@ -1327,7 +1328,7 @@ _evas_canvas3d_node_orientation_angle_axis_set(Eo *obj, Evas_Canvas3D_Node_Data
1327 pd->orientation.y = s * axis.y; 1328 pd->orientation.y = s * axis.y;
1328 pd->orientation.z = s * axis.z; 1329 pd->orientation.z = s * axis.z;
1329 1330
1330 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); 1331 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL));
1331} 1332}
1332 1333
1333EOLIAN static void 1334EOLIAN static void
@@ -1337,7 +1338,7 @@ _evas_canvas3d_node_scale_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Real x,
1337 pd->scale.y = y; 1338 pd->scale.y = y;
1338 pd->scale.z = z; 1339 pd->scale.z = z;
1339 1340
1340 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE, NULL)); 1341 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE, NULL));
1341} 1342}
1342 1343
1343EOLIAN static void 1344EOLIAN static void
@@ -1358,7 +1359,7 @@ _evas_canvas3d_node_position_get(const Eo *obj, Evas_Canvas3D_Node_Data *pd, Eva
1358 } 1359 }
1359 else if (space == EVAS_CANVAS3D_SPACE_WORLD) 1360 else if (space == EVAS_CANVAS3D_SPACE_WORLD)
1360 { 1361 {
1361 eo_do(obj, evas_canvas3d_object_update()); 1362 eo_do(obj, evas_canvas3d_object_update(obj));
1362 1363
1363 if (x) *x = pd->position_world.x; 1364 if (x) *x = pd->position_world.x;
1364 if (y) *y = pd->position_world.y; 1365 if (y) *y = pd->position_world.y;
@@ -1386,7 +1387,7 @@ _evas_canvas3d_node_orientation_get(const Eo *obj, Evas_Canvas3D_Node_Data *pd,
1386 } 1387 }
1387 else if (space == EVAS_CANVAS3D_SPACE_WORLD) 1388 else if (space == EVAS_CANVAS3D_SPACE_WORLD)
1388 { 1389 {
1389 eo_do(obj, evas_canvas3d_object_update()); 1390 eo_do(obj, evas_canvas3d_object_update(obj));
1390 1391
1391 if (x) *x = pd->orientation_world.x; 1392 if (x) *x = pd->orientation_world.x;
1392 if (y) *y = pd->orientation_world.y; 1393 if (y) *y = pd->orientation_world.y;
@@ -1414,7 +1415,7 @@ _evas_canvas3d_node_scale_get(const Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_C
1414 } 1415 }
1415 else if (space == EVAS_CANVAS3D_SPACE_WORLD) 1416 else if (space == EVAS_CANVAS3D_SPACE_WORLD)
1416 { 1417 {
1417 eo_do(obj, evas_canvas3d_object_update()); 1418 eo_do(obj, evas_canvas3d_object_update(obj));
1418 1419
1419 if (x) *x = pd->scale_world.x; 1420 if (x) *x = pd->scale_world.x;
1420 if (y) *y = pd->scale_world.y; 1421 if (y) *y = pd->scale_world.y;
@@ -1426,21 +1427,21 @@ EOLIAN static void
1426_evas_canvas3d_node_position_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit) 1427_evas_canvas3d_node_position_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit)
1427{ 1428{
1428 pd->position_inherit = inherit; 1429 pd->position_inherit = inherit;
1429 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION, NULL)); 1430 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_POSITION, NULL));
1430} 1431}
1431 1432
1432EOLIAN static void 1433EOLIAN static void
1433_evas_canvas3d_node_orientation_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit) 1434_evas_canvas3d_node_orientation_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit)
1434{ 1435{
1435 pd->orientation_inherit = inherit; 1436 pd->orientation_inherit = inherit;
1436 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); 1437 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL));
1437} 1438}
1438 1439
1439EOLIAN static void 1440EOLIAN static void
1440_evas_canvas3d_node_scale_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit) 1441_evas_canvas3d_node_scale_inherit_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Eina_Bool inherit)
1441{ 1442{
1442 pd->scale_inherit = inherit; 1443 pd->scale_inherit = inherit;
1443 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE, NULL)); 1444 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_SCALE, NULL));
1444} 1445}
1445 1446
1446EOLIAN static Eina_Bool 1447EOLIAN static Eina_Bool
@@ -1575,7 +1576,7 @@ _evas_canvas3d_node_look_at_set(Eo *obj, Evas_Canvas3D_Node_Data *pd,
1575 1576
1576 _look_at_set(pd, &target, &up); 1577 _look_at_set(pd, &target, &up);
1577 1578
1578 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL)); 1579 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_TRANSFORM_ORIENTATION, NULL));
1579} 1580}
1580 1581
1581EOLIAN static void 1582EOLIAN static void
@@ -1604,7 +1605,7 @@ _evas_canvas3d_node_camera_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas
1604 evas_canvas3d_camera_node_add(camera, obj); 1605 evas_canvas3d_camera_node_add(camera, obj);
1605 1606
1606 /* Mark changed. */ 1607 /* Mark changed. */
1607 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_CAMERA, NULL)); 1608 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_CAMERA, NULL));
1608} 1609}
1609 1610
1610EOLIAN static Evas_Canvas3D_Camera * 1611EOLIAN static Evas_Canvas3D_Camera *
@@ -1639,7 +1640,7 @@ _evas_canvas3d_node_light_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3
1639 evas_canvas3d_light_node_add(light, obj); 1640 evas_canvas3d_light_node_add(light, obj);
1640 1641
1641 /* Mark changed. */ 1642 /* Mark changed. */
1642 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_LIGHT, NULL)); 1643 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_LIGHT, NULL));
1643} 1644}
1644 1645
1645EOLIAN static Evas_Canvas3D_Light * 1646EOLIAN static Evas_Canvas3D_Light *
@@ -1686,8 +1687,8 @@ _evas_canvas3d_node_mesh_add(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3D
1686 evas_canvas3d_mesh_node_add(mesh, obj); 1687 evas_canvas3d_mesh_node_add(mesh, obj);
1687 1688
1688 /* Mark changed. */ 1689 /* Mark changed. */
1689 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, NULL)); 1690 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, NULL));
1690 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, NULL)); 1691 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, NULL));
1691} 1692}
1692 1693
1693EOLIAN static void 1694EOLIAN static void
@@ -1709,8 +1710,8 @@ _evas_canvas3d_node_mesh_del(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Canvas3D
1709 evas_canvas3d_mesh_node_del(mesh, obj); 1710 evas_canvas3d_mesh_node_del(mesh, obj);
1710 eo_unref(mesh); 1711 eo_unref(mesh);
1711 1712
1712 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, NULL)); 1713 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_GEOMETRY, NULL));
1713 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, NULL)); 1714 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_MATERIAL, NULL));
1714} 1715}
1715 1716
1716EOLIAN static const Eina_List * 1717EOLIAN static const Eina_List *
@@ -1737,7 +1738,7 @@ _evas_canvas3d_node_mesh_frame_set(Eo *obj, Evas_Canvas3D_Node_Data *pd, Evas_Ca
1737 } 1738 }
1738 1739
1739 nm->frame = frame; 1740 nm->frame = frame;
1740 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_MESH_FRAME, NULL)); 1741 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_MESH_FRAME, NULL));
1741} 1742}
1742 1743
1743EOLIAN static int 1744EOLIAN static int
@@ -1763,7 +1764,7 @@ _evas_canvas3d_node_mesh_frame_get(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node_Data
1763EOLIAN static void 1764EOLIAN static void
1764_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) 1765_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)
1765{ 1766{
1766 eo_do(obj, evas_canvas3d_object_update()); 1767 eo_do(obj, evas_canvas3d_object_update(obj));
1767 if (x) *x = pd->aabb.p0.x; 1768 if (x) *x = pd->aabb.p0.x;
1768 if (y) *y = pd->aabb.p0.y; 1769 if (y) *y = pd->aabb.p0.y;
1769 if (z) *z = pd->aabb.p0.z; 1770 if (z) *z = pd->aabb.p0.z;
@@ -1775,7 +1776,7 @@ _evas_canvas3d_node_bounding_box_get(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node_Dat
1775EOLIAN static void 1776EOLIAN static void
1776_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) 1777_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)
1777{ 1778{
1778 eo_do(obj, evas_canvas3d_object_update()); 1779 eo_do(obj, evas_canvas3d_object_update(obj));
1779 if (x) *x = pd->bsphere.center.x; 1780 if (x) *x = pd->bsphere.center.x;
1780 if (y) *y = pd->bsphere.center.y; 1781 if (y) *y = pd->bsphere.center.y;
1781 if (z) *z = pd->bsphere.center.z; 1782 if (z) *z = pd->bsphere.center.z;
@@ -1789,7 +1790,7 @@ _evas_canvas3d_node_billboard_target_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Node
1789 if (pd->billboard_target != target) 1790 if (pd->billboard_target != target)
1790 { 1791 {
1791 pd->billboard_target = target; 1792 pd->billboard_target = target;
1792 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_NODE_PARENT_BILLBOARD, NULL)); 1793 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_NODE_PARENT_BILLBOARD, NULL));
1793 } 1794 }
1794} 1795}
1795 1796
diff --git a/src/lib/evas/canvas/evas_canvas3d_object.c b/src/lib/evas/canvas/evas_canvas3d_object.c
index 3cba61c..3bae6b6 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_super_eo_constructor( MY_CLASS, obj);
11 eo_do(obj, e = eo_parent_get()); 11 eo_do(obj, 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 eo_do(obj, 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 eo_do(obj, 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}
@@ -72,8 +72,8 @@ _evas_canvas3d_object_eo_base_event_callback_priority_add(Eo *obj,
72 Eo_Event_Cb func, 72 Eo_Event_Cb func,
73 const void *user_data) 73 const void *user_data)
74{ 74{
75 eo_do_super(obj, MY_CLASS, eo_event_callback_priority_add(desc, priority, func, user_data)); 75 eo_super_eo_event_callback_priority_add(MY_CLASS, obj, desc, priority, func, user_data);
76 eo_do(obj, evas_canvas3d_object_callback_register(desc->name, user_data)); 76 eo_do(obj, evas_canvas3d_object_callback_register(obj, desc->name, user_data));
77} 77}
78 78
79EOLIAN static void 79EOLIAN static void
@@ -82,8 +82,8 @@ _evas_canvas3d_object_eo_base_event_callback_del(Eo *obj, Evas_Canvas3D_Object_D
82 Eo_Event_Cb func, 82 Eo_Event_Cb func,
83 const void *user_data) 83 const void *user_data)
84{ 84{
85 eo_do_super(obj, MY_CLASS, eo_event_callback_del(desc, func, user_data)); 85 eo_super_eo_event_callback_del(MY_CLASS, obj, desc, func, user_data);
86 eo_do(obj, evas_canvas3d_object_callback_unregister(desc->name)); 86 eo_do(obj, evas_canvas3d_object_callback_unregister(obj, desc->name));
87} 87}
88 88
89#include "canvas/evas_canvas3d_object.eo.c" 89#include "canvas/evas_canvas3d_object.eo.c"
diff --git a/src/lib/evas/canvas/evas_canvas3d_primitive.c b/src/lib/evas/canvas/evas_canvas3d_primitive.c
index 28e747c..36aae70 100644
--- a/src/lib/evas/canvas/evas_canvas3d_primitive.c
+++ b/src/lib/evas/canvas/evas_canvas3d_primitive.c
@@ -20,15 +20,16 @@ evas_canvas3d_primitive_add(Evas *e)
20 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 20 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
21 return NULL; 21 return NULL;
22 MAGIC_CHECK_END(); 22 MAGIC_CHECK_END();
23 Evas_Object *eo_obj = eo_add(MY_CLASS, e); 23 Evas_Object *eo_obj;
24 eo_add(eo_obj, MY_CLASS, e);
24 return eo_obj; 25 return eo_obj;
25} 26}
26 27
27EOLIAN static Eo * 28EOLIAN static Eo *
28_evas_canvas3d_primitive_eo_base_constructor(Eo *obj, Evas_Canvas3D_Primitive_Data *pd) 29_evas_canvas3d_primitive_eo_base_constructor(Eo *obj, Evas_Canvas3D_Primitive_Data *pd)
29{ 30{
30 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 31 obj = eo_super_eo_constructor( MY_CLASS, obj);
31 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_PRIMITIVE)); 32 eo_do(obj, evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_PRIMITIVE));
32 _primitive_init(pd); 33 _primitive_init(pd);
33 34
34 return obj; 35 return obj;
@@ -37,7 +38,7 @@ _evas_canvas3d_primitive_eo_base_constructor(Eo *obj, Evas_Canvas3D_Primitive_Da
37EOLIAN static void 38EOLIAN static void
38_evas_canvas3d_primitive_eo_base_destructor(Eo *obj, Evas_Canvas3D_Primitive_Data *pd EINA_UNUSED) 39_evas_canvas3d_primitive_eo_base_destructor(Eo *obj, Evas_Canvas3D_Primitive_Data *pd EINA_UNUSED)
39{ 40{
40 eo_do_super(obj, MY_CLASS, eo_destructor()); 41 eo_super_eo_destructor(MY_CLASS, obj);
41} 42}
42 43
43EOLIAN static void 44EOLIAN static void
diff --git a/src/lib/evas/canvas/evas_canvas3d_scene.c b/src/lib/evas/canvas/evas_canvas3d_scene.c
index 13dd68a..de9c052 100644
--- a/src/lib/evas/canvas/evas_canvas3d_scene.c
+++ b/src/lib/evas/canvas/evas_canvas3d_scene.c
@@ -43,15 +43,15 @@ _evas_canvas3d_scene_evas_canvas3d_object_update_notify(Eo *obj EINA_UNUSED, Eva
43{ 43{
44 if (pd->root_node) 44 if (pd->root_node)
45 { 45 {
46 eo_do(pd->root_node, evas_canvas3d_object_update()); 46 eo_do(pd->root_node, evas_canvas3d_object_update(pd->root_node));
47 } 47 }
48 48
49 if (pd->camera_node) 49 if (pd->camera_node)
50 { 50 {
51 eo_do(pd->camera_node, evas_canvas3d_object_update()); 51 eo_do(pd->camera_node, evas_canvas3d_object_update(pd->camera_node));
52 } 52 }
53 53
54 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_UPDATED, NULL)); 54 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_UPDATED, NULL));
55} 55}
56 56
57EAPI Evas_Canvas3D_Scene * 57EAPI Evas_Canvas3D_Scene *
@@ -60,15 +60,16 @@ evas_canvas3d_scene_add(Evas *e)
60 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 60 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
61 return NULL; 61 return NULL;
62 MAGIC_CHECK_END(); 62 MAGIC_CHECK_END();
63 Evas_Object *eo_obj = eo_add(MY_CLASS, e); 63 Evas_Object *eo_obj;
64 eo_add(eo_obj, MY_CLASS, e);
64 return eo_obj; 65 return eo_obj;
65} 66}
66 67
67EOLIAN static Eo * 68EOLIAN static Eo *
68_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)
69{ 70{
70 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 71 obj = eo_super_eo_constructor( MY_CLASS, obj);
71 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_SCENE)); 72 eo_do(obj, evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_SCENE));
72 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);
73 pd->shadows_enabled = EINA_FALSE; 74 pd->shadows_enabled = EINA_FALSE;
74 pd->color_pick_enabled = EINA_FALSE; 75 pd->color_pick_enabled = EINA_FALSE;
@@ -100,7 +101,7 @@ _evas_canvas3d_scene_root_node_set(Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_C
100 evas_canvas3d_node_scene_root_add(node, obj); 101 evas_canvas3d_node_scene_root_add(node, obj);
101 } 102 }
102 103
103 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_ROOT_NODE, NULL)); 104 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_ROOT_NODE, NULL));
104} 105}
105 106
106EOLIAN static Evas_Canvas3D_Node * 107EOLIAN static Evas_Canvas3D_Node *
@@ -129,7 +130,7 @@ _evas_canvas3d_scene_camera_node_set(Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas
129 evas_canvas3d_node_scene_camera_add(node, obj); 130 evas_canvas3d_node_scene_camera_add(node, obj);
130 } 131 }
131 132
132 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_CAMERA_NODE, NULL)); 133 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_CAMERA_NODE, NULL));
133} 134}
134 135
135EOLIAN static Evas_Canvas3D_Node * 136EOLIAN static Evas_Canvas3D_Node *
@@ -143,7 +144,7 @@ _evas_canvas3d_scene_size_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Scene_Data *pd,
143{ 144{
144 pd->w = w; 145 pd->w = w;
145 pd->h = h; 146 pd->h = h;
146 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_SIZE, NULL)); 147 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_SIZE, NULL));
147} 148}
148 149
149EOLIAN static void 150EOLIAN static void
@@ -158,7 +159,7 @@ _evas_canvas3d_scene_background_color_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Sce
158 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)
159{ 160{
160 evas_color_set(&pd->bg_color, r, g, b, a); 161 evas_color_set(&pd->bg_color, r, g, b, a);
161 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_BACKGROUND_COLOR, NULL)); 162 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_BACKGROUND_COLOR, NULL));
162} 163}
163 164
164EOLIAN static void 165EOLIAN static void
@@ -631,7 +632,7 @@ _evas_canvas3d_scene_pick(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Real
631 scene_data.shadows_enabled = pd->shadows_enabled; 632 scene_data.shadows_enabled = pd->shadows_enabled;
632 scene_data.camera_node = pd->camera_node; 633 scene_data.camera_node = pd->camera_node;
633 scene_data.color_pick_enabled = pd->color_pick_enabled; 634 scene_data.color_pick_enabled = pd->color_pick_enabled;
634 eo_do(obj, update_scene = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_SCENE_UPDATED)); 635 eo_do(obj, update_scene = evas_canvas3d_object_dirty_get(obj, EVAS_CANVAS3D_STATE_SCENE_UPDATED));
635 if (update_scene) 636 if (update_scene)
636 { 637 {
637 if (pd->node_mesh_colors) 638 if (pd->node_mesh_colors)
@@ -671,7 +672,7 @@ _evas_canvas3d_scene_pick(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Real
671 672
672 /*Calling callback clicked*/ 673 /*Calling callback clicked*/
673 eo_desc = eo_base_legacy_only_event_description_get("clicked,private"); 674 eo_desc = eo_base_legacy_only_event_description_get("clicked,private");
674 eo_do(picked_node, eo_event_callback_call(eo_desc, picked_node)); 675 eo_do(picked_node, eo_event_callback_call(picked_node, eo_desc, picked_node));
675 676
676 return EINA_TRUE; 677 return EINA_TRUE;
677 } 678 }
@@ -687,7 +688,7 @@ _evas_canvas3d_scene_pick(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Real
687 return EINA_FALSE; 688 return EINA_FALSE;
688 } 689 }
689 /* Update the scene graph. */ 690 /* Update the scene graph. */
690 eo_do(obj, evas_canvas3d_object_update()); 691 eo_do(obj, evas_canvas3d_object_update(obj));
691 pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_CANVAS3D_NODE_CLASS); 692 pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_CANVAS3D_NODE_CLASS);
692 pd_camera = eo_data_scope_get(pd_camera_node->data.camera.camera, EVAS_CANVAS3D_CAMERA_CLASS); 693 pd_camera = eo_data_scope_get(pd_camera_node->data.camera.camera, EVAS_CANVAS3D_CAMERA_CLASS);
693 evas_mat4_multiply(&data.matrix_vp, 694 evas_mat4_multiply(&data.matrix_vp,
@@ -710,7 +711,7 @@ _evas_canvas3d_scene_pick(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Real
710 711
711 /*Calling callback clicked*/ 712 /*Calling callback clicked*/
712 eo_desc = eo_base_legacy_only_event_description_get("clicked,private"); 713 eo_desc = eo_base_legacy_only_event_description_get("clicked,private");
713 eo_do(data.node, eo_event_callback_call(eo_desc, data.node)); 714 eo_do(data.node, eo_event_callback_call(data.node, eo_desc, data.node));
714 715
715 return EINA_TRUE; 716 return EINA_TRUE;
716} 717}
@@ -733,7 +734,7 @@ _evas_canvas3d_scene_exist(const Eo *obj, Evas_Canvas3D_Scene_Data *pd, Evas_Rea
733 data.t = 0.0; 734 data.t = 0.0;
734 735
735 /* Update the scene graph. */ 736 /* Update the scene graph. */
736 eo_do(obj, evas_canvas3d_object_update()); 737 eo_do(obj, evas_canvas3d_object_update(obj));
737 pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_CANVAS3D_NODE_CLASS); 738 pd_camera_node = eo_data_scope_get(pd->camera_node, EVAS_CANVAS3D_NODE_CLASS);
738 pd_camera = eo_data_scope_get(pd_camera_node->data.camera.camera, EVAS_CANVAS3D_CAMERA_CLASS); 739 pd_camera = eo_data_scope_get(pd_camera_node->data.camera.camera, EVAS_CANVAS3D_CAMERA_CLASS);
739 evas_mat4_multiply(&data.matrix_vp, 740 evas_mat4_multiply(&data.matrix_vp,
@@ -759,18 +760,18 @@ _evas_canvas3d_scene_pick_member_list_get(const Eo *obj, Evas_Canvas3D_Scene_Dat
759 Eina_Bool pick = EINA_FALSE; 760 Eina_Bool pick = EINA_FALSE;
760 761
761 /* Check pick for given scene. */ 762 /* Check pick for given scene. */
762 eo_do(obj, pick = evas_canvas3d_scene_pick(x, y, NULL, NULL, NULL, NULL)); 763 eo_do(obj, pick = evas_canvas3d_scene_pick(obj, x, y, NULL, NULL, NULL, NULL));
763 764
764 if (!pick) 765 if (!pick)
765 return NULL; 766 return NULL;
766 767
767 /* Get all members from root node. */ 768 /* Get all members from root node. */
768 eo_do(pd->root_node, list = evas_canvas3d_node_member_list_get()); 769 eo_do(pd->root_node, list = evas_canvas3d_node_member_list_get(pd->root_node));
769 770
770 EINA_LIST_FOREACH(list, l, node) 771 EINA_LIST_FOREACH(list, l, node)
771 { 772 {
772 Evas_Canvas3D_Node *exists; 773 Evas_Canvas3D_Node *exists;
773 if (eo_do_ret(obj, exists, evas_canvas3d_scene_exist(x, y, node))) 774 if (eo_do_ret(obj, exists, evas_canvas3d_scene_exist(obj, x, y, node)))
774 picked_nodes = eina_list_append(picked_nodes, l); 775 picked_nodes = eina_list_append(picked_nodes, l);
775 } 776 }
776 777
@@ -787,7 +788,7 @@ EOLIAN static void
787_evas_canvas3d_scene_shadows_enable_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Scene_Data *pd, Eina_Bool _shadows_enabled) 788_evas_canvas3d_scene_shadows_enable_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Scene_Data *pd, Eina_Bool _shadows_enabled)
788{ 789{
789 pd->shadows_enabled = _shadows_enabled; 790 pd->shadows_enabled = _shadows_enabled;
790 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_SHADOWS_ENABLED, NULL)); 791 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_SHADOWS_ENABLED, NULL));
791} 792}
792 793
793EOLIAN static Eina_Bool 794EOLIAN static Eina_Bool
@@ -802,7 +803,7 @@ _evas_canvas3d_scene_color_pick_enable_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Sc
802 if (pd->color_pick_enabled != _enabled) 803 if (pd->color_pick_enabled != _enabled)
803 pd->color_pick_enabled = _enabled; 804 pd->color_pick_enabled = _enabled;
804 805
805 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_UPDATED, NULL)); 806 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_UPDATED, NULL));
806 return EINA_TRUE; 807 return EINA_TRUE;
807} 808}
808 809
@@ -812,7 +813,7 @@ _evas_canvas3d_scene_shadows_depth_set(Eo *obj EINA_UNUSED, Evas_Canvas3D_Scene_
812{ 813{
813 pd->depth_offset = depth_offset; 814 pd->depth_offset = depth_offset;
814 pd->depth_constant = depth_constant; 815 pd->depth_constant = depth_constant;
815 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_SCENE_SHADOWS_DEPTH, NULL)); 816 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_SCENE_SHADOWS_DEPTH, NULL));
816} 817}
817 818
818EOLIAN static void 819EOLIAN static void
diff --git a/src/lib/evas/canvas/evas_canvas3d_texture.c b/src/lib/evas/canvas/evas_canvas3d_texture.c
index e01762d..8893bf4 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 eo_do(obj, 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 eo_do(obj, 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 eo_do(m, 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 eo_do(obj, 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
@@ -313,7 +313,8 @@ evas_canvas3d_texture_add(Evas *e)
313 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 313 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
314 return NULL; 314 return NULL;
315 MAGIC_CHECK_END(); 315 MAGIC_CHECK_END();
316 Evas_Object *eo_obj = eo_add(MY_CLASS, e); 316 Evas_Object *eo_obj;
317 eo_add(eo_obj, MY_CLASS, e);
317 return eo_obj; 318 return eo_obj;
318} 319}
319 320
@@ -321,10 +322,10 @@ evas_canvas3d_texture_add(Evas *e)
321EOLIAN static Eo * 322EOLIAN static Eo *
322_evas_canvas3d_texture_eo_base_constructor(Eo *obj, Evas_Canvas3D_Texture_Data *pd EINA_UNUSED) 323_evas_canvas3d_texture_eo_base_constructor(Eo *obj, Evas_Canvas3D_Texture_Data *pd EINA_UNUSED)
323{ 324{
324 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 325 obj = eo_super_eo_constructor( MY_CLASS, obj);
325 pd->atlas_enable = EINA_TRUE; 326 pd->atlas_enable = EINA_TRUE;
326 327
327 eo_do(obj, evas_canvas3d_object_type_set(EVAS_CANVAS3D_OBJECT_TYPE_TEXTURE)); 328 eo_do(obj, evas_canvas3d_object_type_set(obj, EVAS_CANVAS3D_OBJECT_TYPE_TEXTURE));
328 329
329 return obj; 330 return obj;
330} 331}
@@ -333,7 +334,7 @@ EOLIAN static void
333_evas_canvas3d_texture_eo_base_destructor(Eo *obj, Evas_Canvas3D_Texture_Data *pd EINA_UNUSED) 334_evas_canvas3d_texture_eo_base_destructor(Eo *obj, Evas_Canvas3D_Texture_Data *pd EINA_UNUSED)
334{ 335{
335 _texture_fini(obj); 336 _texture_fini(obj);
336 eo_do_super(obj, MY_CLASS, eo_destructor()); 337 eo_super_eo_destructor(MY_CLASS, obj);
337} 338}
338 339
339EOLIAN static void 340EOLIAN static void
@@ -343,7 +344,7 @@ _evas_canvas3d_texture_data_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd,
343{ 344{
344 Eo *evas = NULL; 345 Eo *evas = NULL;
345 void *image = NULL; 346 void *image = NULL;
346 eo_do(obj, evas = evas_common_evas_get()); 347 eo_do(obj, evas = evas_common_evas_get(obj));
347 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 348 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
348 349
349 if (!pd->engine_data && e->engine.func->texture_new) 350 if (!pd->engine_data && e->engine.func->texture_new)
@@ -366,7 +367,7 @@ _evas_canvas3d_texture_data_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd,
366 pd->engine_data, 367 pd->engine_data,
367 image); 368 image);
368 e->engine.func->image_free(e->engine.data.output, image); 369 e->engine.func->image_free(e->engine.data.output, image);
369 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL)); 370 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL));
370} 371}
371 372
372EOLIAN static void 373EOLIAN static void
@@ -378,7 +379,7 @@ _evas_canvas3d_texture_file_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, const c
378 Eo *evas = NULL; 379 Eo *evas = NULL;
379 void *image; 380 void *image;
380 381
381 eo_do(obj, evas = evas_common_evas_get()); 382 eo_do(obj, evas = evas_common_evas_get(obj));
382 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 383 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
383 384
384 if (!pd->engine_data && e->engine.func->texture_new) 385 if (!pd->engine_data && e->engine.func->texture_new)
@@ -399,14 +400,14 @@ _evas_canvas3d_texture_file_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, const c
399 image); 400 image);
400 401
401 e->engine.func->image_free(e->engine.data.output, image); 402 e->engine.func->image_free(e->engine.data.output, image);
402 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL)); 403 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL));
403} 404}
404 405
405EAPI void 406EAPI void
406_evas_canvas3d_texture_source_set(Eo *obj , Evas_Canvas3D_Texture_Data *pd, Evas_Object *source) 407_evas_canvas3d_texture_source_set(Eo *obj , Evas_Canvas3D_Texture_Data *pd, Evas_Object *source)
407{ 408{
408 Eo *evas = NULL; 409 Eo *evas = NULL;
409 eo_do(obj, evas = evas_common_evas_get()); 410 eo_do(obj, evas = evas_common_evas_get(obj));
410 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 411 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
411 Evas_Object_Protected_Data *src; 412 Evas_Object_Protected_Data *src;
412 413
@@ -441,7 +442,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); 442 pd->engine_data = e->engine.func->texture_new(e->engine.data.output, pd->atlas_enable);
442 443
443 _texture_proxy_set(obj, source, src); 444 _texture_proxy_set(obj, source, src);
444 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL)); 445 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL));
445} 446}
446 447
447EOLIAN static void 448EOLIAN static void
@@ -483,7 +484,7 @@ _evas_canvas3d_texture_color_format_get(const Eo *obj EINA_UNUSED, Evas_Canvas3D
483{ 484{
484 Evas_Colorspace format = -1; 485 Evas_Colorspace format = -1;
485 Eo *evas = NULL; 486 Eo *evas = NULL;
486 eo_do(obj, evas = evas_common_evas_get()); 487 eo_do(obj, evas = evas_common_evas_get(obj));
487 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 488 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
488 489
489 if (e->engine.func->image_colorspace_get && 490 if (e->engine.func->image_colorspace_get &&
@@ -502,7 +503,7 @@ EOLIAN static void
502_evas_canvas3d_texture_size_get(const Eo *obj, Evas_Canvas3D_Texture_Data *pd, int *w, int *h) 503_evas_canvas3d_texture_size_get(const Eo *obj, Evas_Canvas3D_Texture_Data *pd, int *w, int *h)
503{ 504{
504 Eo *evas = NULL; 505 Eo *evas = NULL;
505 eo_do(obj, evas = evas_common_evas_get()); 506 eo_do(obj, evas = evas_common_evas_get(obj));
506 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 507 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
507 if (e->engine.func->texture_size_get) 508 if (e->engine.func->texture_size_get)
508 { 509 {
@@ -515,21 +516,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) 516_evas_canvas3d_texture_wrap_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Wrap_Mode s, Evas_Canvas3D_Wrap_Mode t)
516{ 517{
517 Eo *evas = NULL; 518 Eo *evas = NULL;
518 eo_do(obj, evas = evas_common_evas_get()); 519 eo_do(obj, evas = evas_common_evas_get(obj));
519 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 520 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
520 if (e->engine.func->texture_wrap_set) 521 if (e->engine.func->texture_wrap_set)
521 { 522 {
522 e->engine.func->texture_wrap_set(e->engine.data.output, 523 e->engine.func->texture_wrap_set(e->engine.data.output,
523 pd->engine_data, s, t); 524 pd->engine_data, s, t);
524 } 525 }
525 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_WRAP, NULL)); 526 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_WRAP, NULL));
526} 527}
527 528
528EOLIAN static void 529EOLIAN 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) 530_evas_canvas3d_texture_wrap_get(Eo *obj, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Wrap_Mode *s, Evas_Canvas3D_Wrap_Mode *t)
530{ 531{
531 Eo *evas = NULL; 532 Eo *evas = NULL;
532 eo_do(obj, evas = evas_common_evas_get()); 533 eo_do(obj, evas = evas_common_evas_get(obj));
533 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 534 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
534 if (e->engine.func->texture_wrap_set) 535 if (e->engine.func->texture_wrap_set)
535 { 536 {
@@ -542,21 +543,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) 543_evas_canvas3d_texture_filter_set(Eo *obj, Evas_Canvas3D_Texture_Data *pd, Evas_Canvas3D_Texture_Filter min, Evas_Canvas3D_Texture_Filter mag)
543{ 544{
544 Eo *evas = NULL; 545 Eo *evas = NULL;
545 eo_do(obj, evas = evas_common_evas_get()); 546 eo_do(obj, evas = evas_common_evas_get(obj));
546 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 547 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
547 if (e->engine.func->texture_filter_set) 548 if (e->engine.func->texture_filter_set)
548 { 549 {
549 e->engine.func->texture_filter_set(e->engine.data.output, 550 e->engine.func->texture_filter_set(e->engine.data.output,
550 pd->engine_data, min, mag); 551 pd->engine_data, min, mag);
551 } 552 }
552 eo_do(obj, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_FILTER, NULL)); 553 eo_do(obj, evas_canvas3d_object_change(obj, EVAS_CANVAS3D_STATE_TEXTURE_FILTER, NULL));
553} 554}
554 555
555EOLIAN static void 556EOLIAN 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) 557_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{ 558{
558 Eo *evas = NULL; 559 Eo *evas = NULL;
559 eo_do(obj, evas = evas_common_evas_get()); 560 eo_do(obj, evas = evas_common_evas_get(obj));
560 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS); 561 Evas_Public_Data *e = eo_data_scope_get(evas, EVAS_CANVAS_CLASS);
561 if (e->engine.func->texture_filter_get) 562 if (e->engine.func->texture_filter_get)
562 { 563 {
diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c
index 874beb8..19522b1 100644
--- a/src/lib/evas/canvas/evas_clip.c
+++ b/src/lib/evas/canvas/evas_clip.c
@@ -277,7 +277,7 @@ _evas_object_clip_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object *
277 } 277 }
278 if (obj->is_smart) 278 if (obj->is_smart)
279 { 279 {
280 eo_do(eo_obj, evas_obj_smart_clip_set(eo_clip)); 280 eo_do(eo_obj, evas_obj_smart_clip_set(eo_obj, eo_clip));
281 } 281 }
282 if (obj->cur->clipper) 282 if (obj->cur->clipper)
283 { 283 {
@@ -409,7 +409,7 @@ _evas_object_clip_unset(Eo *eo_obj, Evas_Object_Protected_Data *obj)
409 if (evas_object_intercept_call_clip_unset(eo_obj, obj)) return; 409 if (evas_object_intercept_call_clip_unset(eo_obj, obj)) return;
410 if (obj->is_smart) 410 if (obj->is_smart)
411 { 411 {
412 eo_do(eo_obj, evas_obj_smart_clip_unset()); 412 eo_do(eo_obj, evas_obj_smart_clip_unset(eo_obj));
413 } 413 }
414 if (obj->cur->clipper) 414 if (obj->cur->clipper)
415 { 415 {
diff --git a/src/lib/evas/canvas/evas_data.c b/src/lib/evas/canvas/evas_data.c
index 38bc537..fe9b163 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_do(obj, 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 eo_do((Evas_Object *)obj, data = eo_key_data_get(obj, key));
22 return data; 22 return data;
23} 23}
24 24
@@ -29,6 +29,6 @@ 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 eo_do(obj, data = eo_key_data_get(obj, key), eo_key_data_del(obj, key));
33 return data; 33 return data;
34} 34}
diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c
index c60526f..bb5395b 100644
--- a/src/lib/evas/canvas/evas_events.c
+++ b/src/lib/evas/canvas/evas_events.c
@@ -937,7 +937,7 @@ evas_event_freeze(Evas *eo_e)
937 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS); 937 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS);
938 return; 938 return;
939 MAGIC_CHECK_END(); 939 MAGIC_CHECK_END();
940 eo_do(eo_e, eo_event_freeze()); 940 eo_do(eo_e, eo_event_freeze(eo_e));
941} 941}
942 942
943EAPI void 943EAPI void
@@ -946,13 +946,13 @@ evas_event_thaw(Evas *eo_e)
946 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS); 946 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS);
947 return; 947 return;
948 MAGIC_CHECK_END(); 948 MAGIC_CHECK_END();
949 eo_do(eo_e, eo_event_thaw()); 949 eo_do(eo_e, eo_event_thaw(eo_e));
950} 950}
951 951
952EOLIAN void 952EOLIAN void
953_evas_canvas_eo_base_event_freeze(Eo *eo_e, Evas_Public_Data *e) 953_evas_canvas_eo_base_event_freeze(Eo *eo_e, Evas_Public_Data *e)
954{ 954{
955 eo_do_super(eo_e, EVAS_CANVAS_CLASS, eo_event_freeze()); 955 eo_super_eo_event_freeze(EVAS_CANVAS_CLASS, eo_e);
956 e->is_frozen = EINA_TRUE; 956 e->is_frozen = EINA_TRUE;
957} 957}
958 958
@@ -960,10 +960,8 @@ EOLIAN void
960_evas_canvas_eo_base_event_thaw(Eo *eo_e, Evas_Public_Data *e) 960_evas_canvas_eo_base_event_thaw(Eo *eo_e, Evas_Public_Data *e)
961{ 961{
962 int fcount = -1; 962 int fcount = -1;
963 eo_do_super(eo_e, EVAS_CANVAS_CLASS, 963 eo_super_eo_event_thaw(EVAS_CANVAS_CLASS, eo_e);
964 eo_event_thaw()); 964 fcount = eo_super_eo_event_freeze_count_get(EVAS_CANVAS_CLASS, eo_e);
965 eo_do_super(eo_e, EVAS_CANVAS_CLASS,
966 fcount = eo_event_freeze_count_get());
967 if (0 == fcount) 965 if (0 == fcount)
968 { 966 {
969 Evas_Layer *lay; 967 Evas_Layer *lay;
@@ -991,7 +989,7 @@ evas_event_freeze_get(const Evas *eo_e)
991 return 0; 989 return 0;
992 MAGIC_CHECK_END(); 990 MAGIC_CHECK_END();
993 int ret = 0; 991 int ret = 0;
994 eo_do((Eo *)eo_e, ret = eo_event_freeze_count_get()); 992 eo_do((Eo *)eo_e, ret = eo_event_freeze_count_get(eo_e));
995 return ret; 993 return ret;
996} 994}
997 995
diff --git a/src/lib/evas/canvas/evas_filter_mixin.c b/src/lib/evas/canvas/evas_filter_mixin.c
index e93fa70..3eaabf2 100644
--- a/src/lib/evas/canvas/evas_filter_mixin.c
+++ b/src/lib/evas/canvas/evas_filter_mixin.c
@@ -32,8 +32,8 @@ _filter_cb(Evas_Filter_Context *ctx, void *data, Eina_Bool success)
32 32
33 ERR("Filter failed at runtime!"); 33 ERR("Filter failed at runtime!");
34 eo_do(eo_obj, 34 eo_do(eo_obj,
35 evas_filter_invalid_set(EINA_TRUE); 35 evas_filter_invalid_set(eo_obj, EINA_TRUE);
36 evas_filter_dirty()); 36 evas_filter_dirty(eo_obj));
37 evas_object_change(eo_obj, obj); 37 evas_object_change(eo_obj, obj);
38 evas_object_clip_dirty(eo_obj, obj); 38 evas_object_clip_dirty(eo_obj, obj);
39 evas_object_coords_recalc(eo_obj, obj); 39 evas_object_coords_recalc(eo_obj, obj);
@@ -242,7 +242,7 @@ evas_filter_object_render(Eo *eo_obj, Evas_Object_Protected_Data *obj,
242 242
243 // Request rendering from the object itself (child class) 243 // Request rendering from the object itself (child class)
244 evas_filter_program_padding_get(pd->data->chain, &l, &r, &t, &b); 244 evas_filter_program_padding_get(pd->data->chain, &l, &r, &t, &b);
245 eo_do(eo_obj, evas_filter_input_render(filter, drawctx, l, r, t, b, do_async)); 245 eo_do(eo_obj, evas_filter_input_render(eo_obj, filter, drawctx, l, r, t, b, do_async));
246 246
247 ENFN->context_free(ENDT, drawctx); 247 ENFN->context_free(ENDT, drawctx);
248 248
@@ -293,7 +293,7 @@ _evas_filter_efl_gfx_filter_program_set(Eo *eo_obj, Evas_Filter_Data *pd,
293 eina_stringshare_replace(&fcow->name, name); 293 eina_stringshare_replace(&fcow->name, name);
294 if (code) 294 if (code)
295 { 295 {
296 eo_do(eo_obj, alpha = evas_filter_input_alpha()); 296 eo_do(eo_obj, alpha = evas_filter_input_alpha(eo_obj));
297 pgm = evas_filter_program_new(fcow->name, alpha); 297 pgm = evas_filter_program_new(fcow->name, alpha);
298 evas_filter_program_source_set_all(pgm, fcow->sources); 298 evas_filter_program_source_set_all(pgm, fcow->sources);
299 evas_filter_program_data_set_all(pgm, fcow->data); 299 evas_filter_program_data_set_all(pgm, fcow->data);
@@ -316,7 +316,7 @@ _evas_filter_efl_gfx_filter_program_set(Eo *eo_obj, Evas_Filter_Data *pd,
316 FCOW_END(fcow, pd); 316 FCOW_END(fcow, pd);
317 317
318 // Update object 318 // Update object
319 eo_do(eo_obj, evas_filter_dirty()); 319 eo_do(eo_obj, evas_filter_dirty(eo_obj));
320 evas_object_change(eo_obj, obj); 320 evas_object_change(eo_obj, obj);
321 evas_object_clip_dirty(eo_obj, obj); 321 evas_object_clip_dirty(eo_obj, obj);
322 evas_object_coords_recalc(eo_obj, obj); 322 evas_object_coords_recalc(eo_obj, obj);
@@ -410,7 +410,7 @@ update:
410 FCOW_END(fcow, pd); 410 FCOW_END(fcow, pd);
411 } 411 }
412 412
413 eo_do(eo_obj, evas_filter_dirty()); 413 eo_do(eo_obj, evas_filter_dirty(eo_obj));
414 evas_object_change(eo_obj, obj); 414 evas_object_change(eo_obj, obj);
415 evas_object_clip_dirty(eo_obj, obj); 415 evas_object_clip_dirty(eo_obj, obj);
416 evas_object_coords_recalc(eo_obj, obj); 416 evas_object_coords_recalc(eo_obj, obj);
@@ -456,7 +456,7 @@ _evas_filter_efl_gfx_filter_state_set(Eo *eo_obj, Evas_Filter_Data *pd,
456 } 456 }
457 457
458 // Mark as changed 458 // Mark as changed
459 eo_do(eo_obj, evas_filter_dirty()); 459 eo_do(eo_obj, evas_filter_dirty(eo_obj));
460 evas_object_change(eo_obj, obj); 460 evas_object_change(eo_obj, obj);
461 evas_object_clip_dirty(eo_obj, obj); 461 evas_object_clip_dirty(eo_obj, obj);
462 evas_object_coords_recalc(eo_obj, obj); 462 evas_object_coords_recalc(eo_obj, obj);
diff --git a/src/lib/evas/canvas/evas_focus.c b/src/lib/evas/canvas/evas_focus.c
index 880791b..2ab06ef 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 eo_do(obj->layer->evas->focused, 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..41b2b55 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 eo_do((Evas_Object *)obj, efl_gfx_stack_layer_set(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 eo_do_ret((Evas_Object *)obj, ret, efl_gfx_stack_layer_get(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..025f04a 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -151,14 +151,15 @@ evas_shutdown(void)
151EAPI Evas * 151EAPI Evas *
152evas_new(void) 152evas_new(void)
153{ 153{
154 Evas_Object *eo_obj = eo_add(EVAS_CANVAS_CLASS, NULL); 154 Evas_Object *eo_obj;
155 eo_add(eo_obj, EVAS_CANVAS_CLASS, NULL);
155 return eo_obj; 156 return eo_obj;
156} 157}
157 158
158EOLIAN static Eo * 159EOLIAN static Eo *
159_evas_canvas_eo_base_constructor(Eo *eo_obj, Evas_Public_Data *e) 160_evas_canvas_eo_base_constructor(Eo *eo_obj, Evas_Public_Data *e)
160{ 161{
161 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 162 eo_obj = eo_super_eo_constructor( MY_CLASS, eo_obj);
162 163
163 e->evas = eo_obj; 164 e->evas = eo_obj;
164 e->output.render_method = RENDER_METHOD_INVALID; 165 e->output.render_method = RENDER_METHOD_INVALID;
@@ -320,7 +321,7 @@ _evas_canvas_eo_base_destructor(Eo *eo_e, Evas_Public_Data *e)
320 eina_spinlock_free(&(e->render.lock)); 321 eina_spinlock_free(&(e->render.lock));
321 322
322 e->magic = 0; 323 e->magic = 0;
323 eo_do_super(eo_e, MY_CLASS, eo_destructor()); 324 eo_super_eo_destructor(MY_CLASS, eo_e);
324} 325}
325 326
326EOLIAN static void 327EOLIAN static void
diff --git a/src/lib/evas/canvas/evas_object_box.c b/src/lib/evas/canvas/evas_object_box.c
index 3510fb0..e35cee1 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, Eo *o, const Eo_Event_Description *desc EINA_UNUSED, v
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(o)); 128 eo_do(box, ret = evas_obj_box_internal_remove(box, o));
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 eo_do(o, 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_do(obj, 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_do(obj, 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_do(o, 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_do(o, 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_do(o, 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_do(o, 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_do(o, 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_do(o, 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 eo_do(o, 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_do(o, 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 eo_do(o, 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_do(o, 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 eo_super_evas_obj_smart_add(MY_CLASS, o);
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 eo_do(o, 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 eo_super_evas_obj_smart_del(MY_CLASS, o);
423} 423}
424 424
425EOLIAN static void 425EOLIAN static void
@@ -458,17 +458,18 @@ evas_object_box_add(Evas *evas)
458 MAGIC_CHECK(evas, Evas, MAGIC_EVAS); 458 MAGIC_CHECK(evas, Evas, MAGIC_EVAS);
459 return NULL; 459 return NULL;
460 MAGIC_CHECK_END(); 460 MAGIC_CHECK_END();
461 Evas_Object *obj = eo_add(MY_CLASS, evas); 461 Evas_Object *obj;
462 eo_add(obj, MY_CLASS, evas);
462 return obj; 463 return obj;
463} 464}
464 465
465EOLIAN static Eo * 466EOLIAN static Eo *
466_evas_box_eo_base_constructor(Eo *obj, Evas_Object_Box_Data *class_data EINA_UNUSED) 467_evas_box_eo_base_constructor(Eo *obj, Evas_Object_Box_Data *class_data EINA_UNUSED)
467{ 468{
468 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 469 obj = eo_super_eo_constructor( MY_CLASS, obj);
469 eo_do(obj, 470 eo_do(obj,
470 evas_obj_smart_callbacks_descriptions_set(_signals), 471 evas_obj_smart_callbacks_descriptions_set(obj, _signals),
471 evas_obj_type_set(MY_CLASS_NAME_LEGACY)); 472 evas_obj_type_set(obj, MY_CLASS_NAME_LEGACY));
472 473
473 return obj; 474 return obj;
474} 475}
@@ -1696,7 +1697,7 @@ _evas_box_append(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child)
1696 if (!child) 1697 if (!child)
1697 return NULL; 1698 return NULL;
1698 1699
1699 eo_do(o, opt = evas_obj_box_internal_append(child)); 1700 eo_do(o, opt = evas_obj_box_internal_append(o, child));
1700 1701
1701 if (opt) 1702 if (opt)
1702 { 1703 {
@@ -1715,7 +1716,7 @@ _evas_box_prepend(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child)
1715 if (!child) 1716 if (!child)
1716 return NULL; 1717 return NULL;
1717 1718
1718 eo_do(o, opt = evas_obj_box_internal_prepend(child)); 1719 eo_do(o, opt = evas_obj_box_internal_prepend(o, child));
1719 1720
1720 if (opt) 1721 if (opt)
1721 { 1722 {
@@ -1733,7 +1734,7 @@ _evas_box_insert_before(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child, c
1733 if (!child) 1734 if (!child)
1734 return NULL; 1735 return NULL;
1735 1736
1736 eo_do(o, opt = evas_obj_box_internal_insert_before(child, reference)); 1737 eo_do(o, opt = evas_obj_box_internal_insert_before(o, child, reference));
1737 1738
1738 if (opt) 1739 if (opt)
1739 { 1740 {
@@ -1752,7 +1753,7 @@ _evas_box_insert_after(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child, co
1752 if (!child) 1753 if (!child)
1753 return NULL; 1754 return NULL;
1754 1755
1755 eo_do(o, opt = evas_obj_box_internal_insert_after(child, reference)); 1756 eo_do(o, opt = evas_obj_box_internal_insert_after(o, child, reference));
1756 1757
1757 if (opt) 1758 if (opt)
1758 { 1759 {
@@ -1771,7 +1772,7 @@ _evas_box_insert_at(Eo *o, Evas_Object_Box_Data *priv, Evas_Object *child, unsig
1771 if (!child) 1772 if (!child)
1772 return NULL; 1773 return NULL;
1773 1774
1774 eo_do(o, opt = evas_obj_box_internal_insert_at(child, pos)); 1775 eo_do(o, opt = evas_obj_box_internal_insert_at(o, child, pos));
1775 1776
1776 if (opt) 1777 if (opt)
1777 { 1778 {
@@ -1788,7 +1789,7 @@ _evas_box_remove(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, Evas_Object *chil
1788{ 1789{
1789 Evas_Object *obj = NULL; 1790 Evas_Object *obj = NULL;
1790 1791
1791 eo_do(o, obj = evas_obj_box_internal_remove(child)); 1792 eo_do(o, obj = evas_obj_box_internal_remove(o, child));
1792 1793
1793 if (obj) 1794 if (obj)
1794 { 1795 {
@@ -1806,7 +1807,7 @@ _evas_box_remove_at(Eo *o, Evas_Object_Box_Data *_pd EINA_UNUSED, unsigned int p
1806{ 1807{
1807 Evas_Object *obj = NULL; 1808 Evas_Object *obj = NULL;
1808 1809
1809 eo_do(o, obj = evas_obj_box_internal_remove_at(pos)); 1810 eo_do(o, obj = evas_obj_box_internal_remove_at(o, pos));
1810 1811
1811 if (obj) 1812 if (obj)
1812 { 1813 {
@@ -1829,7 +1830,7 @@ _evas_box_remove_all(Eo *o, Evas_Object_Box_Data *priv, Eina_Bool clear)
1829 Evas_Object_Box_Option *opt = priv->children->data; 1830 Evas_Object_Box_Option *opt = priv->children->data;
1830 Evas_Object *obj = NULL; 1831 Evas_Object *obj = NULL;
1831 1832
1832 eo_do(o, obj = evas_obj_box_internal_remove(opt->obj)); 1833 eo_do(o, obj = evas_obj_box_internal_remove(o, opt->obj));
1833 if (obj) 1834 if (obj)
1834 { 1835 {
1835 _evas_object_box_child_callbacks_unregister(obj, o); 1836 _evas_object_box_child_callbacks_unregister(obj, o);
@@ -1931,7 +1932,7 @@ EAPI Eina_Bool
1931evas_object_box_option_property_vset(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args) 1932evas_object_box_option_property_vset(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
1932{ 1933{
1933 Eina_Bool ret = EINA_FALSE; 1934 Eina_Bool ret = EINA_FALSE;
1934 eo_do(o, ret = evas_obj_box_option_property_vset(opt, property, (va_list *) &args)); 1935 eo_do(o, ret = evas_obj_box_option_property_vset(o, opt, property, (va_list *) &args));
1935 return ret; 1936 return ret;
1936} 1937}
1937 1938
@@ -1958,7 +1959,7 @@ EAPI Eina_Bool
1958evas_object_box_option_property_vget(const Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args) 1959evas_object_box_option_property_vget(const Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
1959{ 1960{
1960 Eina_Bool ret = EINA_FALSE; 1961 Eina_Bool ret = EINA_FALSE;
1961 eo_do((Eo *)o, ret = evas_obj_box_option_property_vget(opt, property, (va_list *) &args)); 1962 eo_do((Eo *)o, ret = evas_obj_box_option_property_vget(o, opt, property, (va_list *) &args));
1962 return ret; 1963 return ret;
1963} 1964}
1964 1965
diff --git a/src/lib/evas/canvas/evas_object_grid.c b/src/lib/evas/canvas/evas_object_grid.c
index 4c1b95a..302586a 100644
--- a/src/lib/evas/canvas/evas_object_grid.c
+++ b/src/lib/evas/canvas/evas_object_grid.c
@@ -265,15 +265,16 @@ evas_object_grid_add(Evas *evas)
265 MAGIC_CHECK(evas, Evas, MAGIC_EVAS); 265 MAGIC_CHECK(evas, Evas, MAGIC_EVAS);
266 return NULL; 266 return NULL;
267 MAGIC_CHECK_END(); 267 MAGIC_CHECK_END();
268 Evas_Object *obj = eo_add(MY_CLASS, evas); 268 Evas_Object *obj;
269 eo_add(obj, MY_CLASS, evas);
269 return obj; 270 return obj;
270} 271}
271 272
272EOLIAN static Eo * 273EOLIAN static Eo *
273_evas_grid_eo_base_constructor(Eo *obj, Evas_Grid_Data *class_data EINA_UNUSED) 274_evas_grid_eo_base_constructor(Eo *obj, Evas_Grid_Data *class_data EINA_UNUSED)
274{ 275{
275 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 276 obj = eo_super_eo_constructor( MY_CLASS, obj);
276 eo_do(obj, evas_obj_smart_attach(_evas_object_grid_smart_class_new())); 277 eo_do(obj, evas_obj_smart_attach(obj, _evas_object_grid_smart_class_new()));
277 278
278 return obj; 279 return obj;
279// return evas_object_smart_add(evas, _evas_object_grid_smart_class_new()); 280// 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 fdf31c7..79228d5 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_super_eo_constructor( MY_CLASS, eo_obj);
354 354
355 evas_object_image_init(eo_obj); 355 evas_object_image_init(eo_obj);
356 356
@@ -371,7 +371,7 @@ _evas_image_eo_base_constructor(Eo *eo_obj, Evas_Image_Data *o)
371 EINA_COW_IMAGE_STATE_WRITE_END(o, state_write); 371 EINA_COW_IMAGE_STATE_WRITE_END(o, state_write);
372 } 372 }
373 373
374 eo_do(eo_obj, evas_filter_constructor()); 374 eo_do(eo_obj, evas_filter_constructor(eo_obj));
375 375
376 return eo_obj; 376 return eo_obj;
377} 377}
@@ -385,7 +385,8 @@ evas_object_image_add(Evas *eo_e)
385 Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS); 385 Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
386 EINA_SAFETY_ON_NULL_RETURN_VAL(e, NULL); 386 EINA_SAFETY_ON_NULL_RETURN_VAL(e, NULL);
387 EINA_SAFETY_ON_NULL_RETURN_VAL(e->engine.func, NULL); 387 EINA_SAFETY_ON_NULL_RETURN_VAL(e->engine.func, NULL);
388 Evas_Object *eo_obj = eo_add(EVAS_IMAGE_CLASS, eo_e); 388 Evas_Object *eo_obj;
389 eo_add(eo_obj, EVAS_IMAGE_CLASS, eo_e);
389 return eo_obj; 390 return eo_obj;
390} 391}
391 392
@@ -409,7 +410,7 @@ evas_object_image_memfile_set(Evas_Object *eo_obj, void *data, int size, char *f
409 410
410 f = eina_file_virtualize(NULL, data, size, EINA_TRUE); 411 f = eina_file_virtualize(NULL, data, size, EINA_TRUE);
411 if (!f) return ; 412 if (!f) return ;
412 eo_do(eo_obj, efl_file_mmap_set(f, key)); 413 eo_do(eo_obj, efl_file_mmap_set(eo_obj, f, key));
413 eina_file_close(f); 414 eina_file_close(f);
414} 415}
415 416
@@ -734,7 +735,7 @@ EAPI Eina_Bool
734evas_object_image_source_unset(Evas_Object *eo_obj) 735evas_object_image_source_unset(Evas_Object *eo_obj)
735{ 736{
736 Eina_Bool result = EINA_FALSE; 737 Eina_Bool result = EINA_FALSE;
737 eo_do(eo_obj, result = evas_obj_image_source_set(NULL)); 738 eo_do(eo_obj, result = evas_obj_image_source_set(eo_obj, NULL));
738 return result; 739 return result;
739} 740}
740 741
@@ -788,7 +789,7 @@ _evas_image_source_events_get(Eo *eo_obj, Evas_Image_Data *_pd EINA_UNUSED)
788EOLIAN static void 789EOLIAN static void
789_evas_image_eo_base_dbg_info_get(Eo *eo_obj, Evas_Image_Data *o, Eo_Dbg_Info *root) 790_evas_image_eo_base_dbg_info_get(Eo *eo_obj, Evas_Image_Data *o, Eo_Dbg_Info *root)
790{ 791{
791 eo_do_super(eo_obj, MY_CLASS, eo_dbg_info_get(root)); 792 eo_super_eo_dbg_info_get(MY_CLASS, eo_obj, root);
792 Eo_Dbg_Info *group = EO_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME); 793 Eo_Dbg_Info *group = EO_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME);
793 794
794 const char *file, *key; 795 const char *file, *key;
@@ -806,7 +807,7 @@ _evas_image_eo_base_dbg_info_get(Eo *eo_obj, Evas_Image_Data *o, Eo_Dbg_Info *ro
806 if (evas_object_image_load_error_get(eo_obj) != EVAS_LOAD_ERROR_NONE) 807 if (evas_object_image_load_error_get(eo_obj) != EVAS_LOAD_ERROR_NONE)
807 { 808 {
808 Evas_Load_Error error = EVAS_LOAD_ERROR_GENERIC; 809 Evas_Load_Error error = EVAS_LOAD_ERROR_GENERIC;
809 eo_do(eo_obj, error = evas_obj_image_load_error_get()); 810 eo_do(eo_obj, error = evas_obj_image_load_error_get(eo_obj));
810 EO_DBG_INFO_APPEND(group, "Load Error", EINA_VALUE_TYPE_STRING, 811 EO_DBG_INFO_APPEND(group, "Load Error", EINA_VALUE_TYPE_STRING,
811 evas_load_error_str(error)); 812 evas_load_error_str(error));
812 } 813 }
@@ -988,7 +989,7 @@ evas_object_image_fill_set(Evas_Image *obj,
988 Evas_Coord x, Evas_Coord y, 989 Evas_Coord x, Evas_Coord y,
989 Evas_Coord w, Evas_Coord h) 990 Evas_Coord w, Evas_Coord h)
990{ 991{
991 eo_do((Evas_Image *)obj, efl_gfx_fill_set(x, y, w, h)); 992 eo_do((Evas_Image *)obj, efl_gfx_fill_set(obj, x, y, w, h));
992} 993}
993 994
994EOLIAN static void 995EOLIAN static void
@@ -1027,7 +1028,7 @@ evas_object_image_fill_get(const Evas_Image *obj,
1027 Evas_Coord *x, Evas_Coord *y, 1028 Evas_Coord *x, Evas_Coord *y,
1028 Evas_Coord *w, Evas_Coord *h) 1029 Evas_Coord *w, Evas_Coord *h)
1029{ 1030{
1030 eo_do((Evas_Image *)obj, efl_gfx_fill_get(x, y, w, h)); 1031 eo_do((Evas_Image *)obj, efl_gfx_fill_get(obj, x, y, w, h));
1031} 1032}
1032 1033
1033EOLIAN static void 1034EOLIAN static void
@@ -1043,7 +1044,7 @@ _evas_image_efl_gfx_fill_fill_get(Eo *eo_obj EINA_UNUSED, Evas_Image_Data *o,
1043EAPI void 1044EAPI void
1044evas_object_image_fill_spread_set(Evas_Image *obj, Evas_Fill_Spread spread) 1045evas_object_image_fill_spread_set(Evas_Image *obj, Evas_Fill_Spread spread)
1045{ 1046{
1046 eo_do((Evas_Image *)obj, efl_gfx_fill_spread_set(spread)); 1047 eo_do((Evas_Image *)obj, efl_gfx_fill_spread_set(obj, spread));
1047} 1048}
1048 1049
1049EOLIAN static void 1050EOLIAN static void
@@ -1068,7 +1069,7 @@ evas_object_image_fill_spread_get(const Evas_Image *obj)
1068{ 1069{
1069 Evas_Fill_Spread ret; 1070 Evas_Fill_Spread ret;
1070 1071
1071 return eo_do_ret((Evas_Image *)obj, ret, efl_gfx_fill_spread_get()); 1072 return eo_do_ret((Evas_Image *)obj, ret, efl_gfx_fill_spread_get(obj));
1072} 1073}
1073 1074
1074EOLIAN static Efl_Gfx_Fill_Spread 1075EOLIAN static Efl_Gfx_Fill_Spread
@@ -1081,7 +1082,7 @@ _evas_image_efl_gfx_fill_fill_spread_get(Eo *eo_obj EINA_UNUSED,
1081EAPI void 1082EAPI void
1082evas_object_image_size_set(Evas_Image *obj, int w, int h) 1083evas_object_image_size_set(Evas_Image *obj, int w, int h)
1083{ 1084{
1084 eo_do((Evas_Image *)obj, efl_gfx_view_size_set(w, h)); 1085 eo_do((Evas_Image *)obj, efl_gfx_view_size_set(obj, w, h));
1085} 1086}
1086 1087
1087EOLIAN static void 1088EOLIAN static void
@@ -1151,7 +1152,7 @@ _evas_image_efl_gfx_view_size_set(Eo *eo_obj, Evas_Image_Data *o, int w, int h)
1151EAPI void 1152EAPI void
1152evas_object_image_size_get(const Evas_Image *obj, int *w, int *h) 1153evas_object_image_size_get(const Evas_Image *obj, int *w, int *h)
1153{ 1154{
1154 eo_do((Evas_Image *)obj, efl_gfx_view_size_get(w, h)); 1155 eo_do((Evas_Image *)obj, efl_gfx_view_size_get(obj, w, h));
1155} 1156}
1156 1157
1157EOLIAN static void 1158EOLIAN static void
@@ -1385,9 +1386,9 @@ evas_object_image_preload(Evas_Object *eo_obj, Eina_Bool cancel)
1385 return; 1386 return;
1386 MAGIC_CHECK_END(); 1387 MAGIC_CHECK_END();
1387 if (cancel) 1388 if (cancel)
1388 eo_do(eo_obj, evas_obj_image_preload_cancel()); 1389 eo_do(eo_obj, evas_obj_image_preload_cancel(eo_obj));
1389 else 1390 else
1390 eo_do(eo_obj, evas_obj_image_preload_begin()); 1391 eo_do(eo_obj, evas_obj_image_preload_begin(eo_obj));
1391} 1392}
1392 1393
1393static void 1394static void
@@ -2119,7 +2120,7 @@ evas_object_image_native_surface_set(Evas_Object *eo_obj, Evas_Native_Surface *s
2119 if (surf) // We need to unset native surf on del to remove shared hash refs 2120 if (surf) // We need to unset native surf on del to remove shared hash refs
2120 evas_object_event_callback_add 2121 evas_object_event_callback_add
2121 (eo_obj, EVAS_CALLBACK_DEL, _on_image_native_surface_del, NULL); 2122 (eo_obj, EVAS_CALLBACK_DEL, _on_image_native_surface_del, NULL);
2122 eo_do(eo_obj, evas_obj_image_native_surface_set(surf)); 2123 eo_do(eo_obj, evas_obj_image_native_surface_set(eo_obj, surf));
2123} 2124}
2124 2125
2125EOLIAN static void 2126EOLIAN static void
@@ -2697,7 +2698,7 @@ _3d_render(Evas *eo_e, Evas_Object *eo_obj EINA_UNUSED,
2697 scene_data.depth_constant = pd_scene->depth_constant; 2698 scene_data.depth_constant = pd_scene->depth_constant;
2698 2699
2699 /* Phase 1 - Update scene graph tree. */ 2700 /* Phase 1 - Update scene graph tree. */
2700 eo_do(scene, evas_canvas3d_object_update()); 2701 eo_do(scene, evas_canvas3d_object_update(scene));
2701 2702
2702 /* Phase 2 - Do frustum culling and get visible model nodes. */ 2703 /* Phase 2 - Do frustum culling and get visible model nodes. */
2703 evas_canvas3d_node_tree_traverse(pd_scene->root_node, 2704 evas_canvas3d_node_tree_traverse(pd_scene->root_node,
@@ -2895,7 +2896,7 @@ _evas_image_eo_base_destructor(Eo *eo_obj, Evas_Image_Data *_pd EINA_UNUSED)
2895 2896
2896 evas_object_image_video_surface_set(eo_obj, NULL); 2897 evas_object_image_video_surface_set(eo_obj, NULL);
2897 evas_object_image_free(eo_obj, obj); 2898 evas_object_image_free(eo_obj, obj);
2898 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 2899 eo_super_eo_destructor(MY_CLASS, eo_obj);
2899} 2900}
2900 2901
2901void 2902void
@@ -2960,7 +2961,7 @@ evas_object_image_free(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
2960 EINA_COW_PIXEL_WRITE_END(o, pixi_write); 2961 EINA_COW_PIXEL_WRITE_END(o, pixi_write);
2961 } 2962 }
2962 2963
2963 eo_do(eo_obj, evas_filter_destructor()); 2964 eo_do(eo_obj, evas_filter_destructor(eo_obj));
2964} 2965}
2965 2966
2966static void 2967static void
@@ -3341,7 +3342,7 @@ _evas_image_render(Eo *eo_obj, Evas_Object_Protected_Data *obj,
3341 if (oi->has_filter) 3342 if (oi->has_filter)
3342 { 3343 {
3343 void *output_buffer = NULL; 3344 void *output_buffer = NULL;
3344 eo_do(source->object, output_buffer = evas_filter_output_buffer_get()); 3345 eo_do(source->object, output_buffer = evas_filter_output_buffer_get(source->object));
3345 if (output_buffer) 3346 if (output_buffer)
3346 pixels = output_buffer; 3347 pixels = output_buffer;
3347 } 3348 }
@@ -3682,7 +3683,7 @@ evas_object_image_render_pre(Evas_Object *eo_obj,
3682 Evas_Canvas3D_Scene *scene = o->cur->scene; 3683 Evas_Canvas3D_Scene *scene = o->cur->scene;
3683 Eina_Bool dirty; 3684 Eina_Bool dirty;
3684 3685
3685 eo_do(scene, dirty = evas_canvas3d_object_dirty_get(EVAS_CANVAS3D_STATE_ANY)); 3686 eo_do(scene, dirty = evas_canvas3d_object_dirty_get(scene, EVAS_CANVAS3D_STATE_ANY));
3686 if (dirty) 3687 if (dirty)
3687 { 3688 {
3688 evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj); 3689 evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj);
@@ -4830,71 +4831,71 @@ _evas_object_image_surface_get(Evas_Object *eo, Evas_Object_Protected_Data *obj)
4830EAPI void 4831EAPI void
4831evas_object_image_file_set(Eo *obj, const char *file, const char *key) 4832evas_object_image_file_set(Eo *obj, const char *file, const char *key)
4832{ 4833{
4833 eo_do((Eo *) obj, efl_file_set(file, key)); 4834 eo_do((Eo *) obj, efl_file_set(obj, file, key));
4834} 4835}
4835 4836
4836EAPI void 4837EAPI void
4837evas_object_image_file_get(const Eo *obj, const char **file, const char **key) 4838evas_object_image_file_get(const Eo *obj, const char **file, const char **key)
4838{ 4839{
4839 eo_do((Eo *) obj, efl_file_get(file, key)); 4840 eo_do((Eo *) obj, efl_file_get(obj, file, key));
4840} 4841}
4841 4842
4842EAPI void 4843EAPI void
4843evas_object_image_mmap_set(Evas_Image *obj, const Eina_File *f, const char *key) 4844evas_object_image_mmap_set(Evas_Image *obj, const Eina_File *f, const char *key)
4844{ 4845{
4845 eo_do((Evas_Image *)obj, efl_file_mmap_set(f, key)); 4846 eo_do((Evas_Image *)obj, efl_file_mmap_set(obj, f, key));
4846} 4847}
4847 4848
4848EAPI void 4849EAPI void
4849evas_object_image_mmap_get(const Evas_Image *obj, const Eina_File **f, const char **key) 4850evas_object_image_mmap_get(const Evas_Image *obj, const Eina_File **f, const char **key)
4850{ 4851{
4851 eo_do((Evas_Image *)obj, efl_file_mmap_get(f, key)); 4852 eo_do((Evas_Image *)obj, efl_file_mmap_get(obj, f, key));
4852} 4853}
4853 4854
4854EAPI Eina_Bool 4855EAPI Eina_Bool
4855evas_object_image_save(const Eo *obj, const char *file, const char *key, const char *flags) 4856evas_object_image_save(const Eo *obj, const char *file, const char *key, const char *flags)
4856{ 4857{
4857 Eina_Bool ret; 4858 Eina_Bool ret;
4858 return eo_do_ret((Eo *) obj, ret, efl_file_save(file, key, flags)); 4859 return eo_do_ret((Eo *) obj, ret, efl_file_save(obj, file, key, flags));
4859} 4860}
4860 4861
4861EAPI Eina_Bool 4862EAPI Eina_Bool
4862evas_object_image_animated_get(const Eo *obj) 4863evas_object_image_animated_get(const Eo *obj)
4863{ 4864{
4864 Eina_Bool ret; 4865 Eina_Bool ret;
4865 return eo_do_ret((Eo *) obj, ret, efl_image_animated_get()); 4866 return eo_do_ret((Eo *) obj, ret, efl_image_animated_get(obj));
4866} 4867}
4867 4868
4868EAPI void 4869EAPI void
4869evas_object_image_load_size_set(Eo *obj, int w, int h) 4870evas_object_image_load_size_set(Eo *obj, int w, int h)
4870{ 4871{
4871 eo_do((Eo *) obj, efl_image_load_size_set(w, h)); 4872 eo_do((Eo *) obj, efl_image_load_size_set(obj, w, h));
4872} 4873}
4873 4874
4874EAPI void 4875EAPI void
4875evas_object_image_load_size_get(const Eo *obj, int *w, int *h) 4876evas_object_image_load_size_get(const Eo *obj, int *w, int *h)
4876{ 4877{
4877 eo_do((Eo *) obj, efl_image_load_size_get(w, h)); 4878 eo_do((Eo *) obj, efl_image_load_size_get(obj, w, h));
4878} 4879}
4879 4880
4880EAPI void 4881EAPI void
4881evas_object_image_smooth_scale_set(Eo *obj, Eina_Bool smooth_scale) 4882evas_object_image_smooth_scale_set(Eo *obj, Eina_Bool smooth_scale)
4882{ 4883{
4883 eo_do((Eo *) obj, efl_image_smooth_scale_set(smooth_scale)); 4884 eo_do((Eo *) obj, efl_image_smooth_scale_set(obj, smooth_scale));
4884} 4885}
4885 4886
4886EAPI Eina_Bool 4887EAPI Eina_Bool
4887evas_object_image_smooth_scale_get(const Eo *obj) 4888evas_object_image_smooth_scale_get(const Eo *obj)
4888{ 4889{
4889 Eina_Bool ret; 4890 Eina_Bool ret;
4890 return eo_do_ret((Eo *) obj, ret, efl_image_smooth_scale_get()); 4891 return eo_do_ret((Eo *) obj, ret, efl_image_smooth_scale_get(obj));
4891} 4892}
4892 4893
4893EOLIAN void 4894EOLIAN void
4894_evas_image_efl_gfx_filter_program_set(Eo *obj, Evas_Image_Data *pd EINA_UNUSED, const char *code, const char *name) 4895_evas_image_efl_gfx_filter_program_set(Eo *obj, Evas_Image_Data *pd EINA_UNUSED, const char *code, const char *name)
4895{ 4896{
4896 pd->has_filter = (code != NULL); 4897 pd->has_filter = (code != NULL);
4897 eo_do_super(obj, MY_CLASS, efl_gfx_filter_program_set(code, name)); 4898 eo_super_efl_gfx_filter_program_set(MY_CLASS, obj, code, name);
4898} 4899}
4899 4900
4900#include "canvas/evas_image.eo.c" 4901#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..6063c79 100644
--- a/src/lib/evas/canvas/evas_object_line.c
+++ b/src/lib/evas/canvas/evas_object_line.c
@@ -97,7 +97,8 @@ evas_object_line_add(Evas *e)
97 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 97 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
98 return NULL; 98 return NULL;
99 MAGIC_CHECK_END(); 99 MAGIC_CHECK_END();
100 Evas_Object *eo_obj = eo_add(EVAS_LINE_CLASS, e); 100 Evas_Object *eo_obj;
101 eo_add(eo_obj, EVAS_LINE_CLASS, e);
101 return eo_obj; 102 return eo_obj;
102} 103}
103 104
@@ -220,7 +221,7 @@ _evas_line_eo_base_constructor(Eo *eo_obj, Evas_Line_Data *class_data EINA_UNUSE
220{ 221{
221 Evas_Line_Data *o; 222 Evas_Line_Data *o;
222 223
223 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 224 eo_obj = eo_super_eo_constructor( MY_CLASS, eo_obj);
224 225
225 evas_object_line_init(eo_obj); 226 evas_object_line_init(eo_obj);
226 227
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index 7ff20b8..d21f122 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -87,11 +87,11 @@ _evas_object_eo_base_constructor(Eo *eo_obj, Evas_Object_Protected_Data *obj)
87{ 87{
88 Eo *parent = NULL; 88 Eo *parent = NULL;
89 89
90 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 90 eo_obj = eo_super_eo_constructor( MY_CLASS, eo_obj);
91 eo_do(eo_obj, evas_obj_type_set(MY_CLASS_NAME)); 91 eo_do(eo_obj, evas_obj_type_set(eo_obj, MY_CLASS_NAME));
92 eo_manual_free_set(eo_obj, EINA_TRUE); 92 eo_manual_free_set(eo_obj, EINA_TRUE);
93 93
94 eo_do(eo_obj, parent = eo_parent_get()); 94 eo_do(eo_obj, parent = eo_parent_get(eo_obj));
95 95
96 if (!obj || !_init_cow() || !eo_isa(parent, EVAS_COMMON_INTERFACE_INTERFACE)) 96 if (!obj || !_init_cow() || !eo_isa(parent, EVAS_COMMON_INTERFACE_INTERFACE))
97 { 97 {
@@ -285,7 +285,7 @@ evas_object_change(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
285 } 285 }
286 EINA_LIST_FOREACH(obj->proxy->proxy_textures, l, texture) 286 EINA_LIST_FOREACH(obj->proxy->proxy_textures, l, texture)
287 { 287 {
288 eo_do(texture, evas_canvas3d_object_change(EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL)); 288 eo_do(texture, evas_canvas3d_object_change(texture, EVAS_CANVAS3D_STATE_TEXTURE_DATA, NULL));
289 } 289 }
290 if (obj->smart.parent) 290 if (obj->smart.parent)
291 { 291 {
@@ -717,7 +717,7 @@ _evas_object_eo_base_destructor(Eo *eo_obj, Evas_Object_Protected_Data *obj)
717 if (eo_isa(proxy, EVAS_IMAGE_CLASS)) 717 if (eo_isa(proxy, EVAS_IMAGE_CLASS))
718 evas_object_image_source_unset(proxy); 718 evas_object_image_source_unset(proxy);
719 else if (eo_isa(proxy, EVAS_TEXT_CLASS)) 719 else if (eo_isa(proxy, EVAS_TEXT_CLASS))
720 eo_do(proxy, efl_gfx_filter_source_set(NULL, eo_obj)); 720 eo_do(proxy, efl_gfx_filter_source_set(proxy, NULL, eo_obj));
721 } 721 }
722 722
723 /* Eina_Cow has no way to know if we are going to really change something 723 /* Eina_Cow has no way to know if we are going to really change something
@@ -728,7 +728,7 @@ _evas_object_eo_base_destructor(Eo *eo_obj, Evas_Object_Protected_Data *obj)
728 Evas_Object_Proxy_Data, proxy_src) 728 Evas_Object_Proxy_Data, proxy_src)
729 { 729 {
730 EINA_LIST_FREE(proxy_src->proxy_textures, texture) 730 EINA_LIST_FREE(proxy_src->proxy_textures, texture)
731 eo_do(texture, evas_canvas3d_texture_source_set(NULL)); 731 eo_do(texture, evas_canvas3d_texture_source_set(texture, NULL));
732 } 732 }
733 EINA_COW_WRITE_END(evas_object_proxy_cow, obj->proxy, proxy_src); 733 EINA_COW_WRITE_END(evas_object_proxy_cow, obj->proxy, proxy_src);
734 } 734 }
@@ -747,7 +747,7 @@ end:
747 evas_object_event_callback_all_del(eo_obj); 747 evas_object_event_callback_all_del(eo_obj);
748 evas_object_event_callback_cleanup(eo_obj); 748 evas_object_event_callback_cleanup(eo_obj);
749 749
750 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 750 eo_super_eo_destructor(MY_CLASS, eo_obj);
751} 751}
752 752
753EAPI void 753EAPI void
@@ -757,14 +757,14 @@ evas_object_geometry_set(Evas_Object *eo_obj, Evas_Coord x, Evas_Coord y, Evas_C
757 return; 757 return;
758 MAGIC_CHECK_END(); 758 MAGIC_CHECK_END();
759 eo_do(eo_obj, 759 eo_do(eo_obj,
760 efl_gfx_position_set(x, y), 760 efl_gfx_position_set(eo_obj, x, y),
761 efl_gfx_size_set(w, h)); 761 efl_gfx_size_set(eo_obj, w, h));
762} 762}
763 763
764EAPI void 764EAPI void
765evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y) 765evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
766{ 766{
767 eo_do((Evas_Object *)obj, efl_gfx_position_set(x, y)); 767 eo_do((Evas_Object *)obj, efl_gfx_position_set(obj, x, y));
768} 768}
769 769
770EOLIAN static void 770EOLIAN static void
@@ -791,7 +791,7 @@ _evas_object_efl_gfx_base_position_set(Eo *eo_obj, Evas_Object_Protected_Data *o
791 if ((obj->cur->geometry.x == x) && (obj->cur->geometry.y == y)) return; 791 if ((obj->cur->geometry.x == x) && (obj->cur->geometry.y == y)) return;
792 792
793 Evas_Map *map; 793 Evas_Map *map;
794 eo_do(eo_obj, map = (Evas_Map *) evas_obj_map_get()); 794 eo_do(eo_obj, map = (Evas_Map *) evas_obj_map_get(eo_obj));
795 if (map && map->move_sync.enabled) 795 if (map && map->move_sync.enabled)
796 { 796 {
797 Evas_Coord diff_x = x - obj->cur->geometry.x; 797 Evas_Coord diff_x = x - obj->cur->geometry.x;
@@ -813,7 +813,7 @@ _evas_object_efl_gfx_base_position_set(Eo *eo_obj, Evas_Object_Protected_Data *o
813 813
814 if (obj->is_smart) 814 if (obj->is_smart)
815 { 815 {
816 eo_do(eo_obj, evas_obj_smart_move(x, y)); 816 eo_do(eo_obj, evas_obj_smart_move(eo_obj, x, y));
817 } 817 }
818 818
819 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) 819 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
@@ -855,7 +855,7 @@ _evas_object_efl_gfx_base_position_set(Eo *eo_obj, Evas_Object_Protected_Data *o
855EAPI void 855EAPI void
856evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) 856evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
857{ 857{
858 eo_do((Evas_Object *)obj, efl_gfx_size_set(w, h)); 858 eo_do((Evas_Object *)obj, efl_gfx_size_set(obj, w, h));
859} 859}
860 860
861EOLIAN static void 861EOLIAN static void
@@ -895,7 +895,7 @@ _evas_object_efl_gfx_base_size_set(Eo *eo_obj, Evas_Object_Protected_Data *obj,
895 895
896 if (obj->is_smart) 896 if (obj->is_smart)
897 { 897 {
898 eo_do(eo_obj, evas_obj_smart_resize(w, h)); 898 eo_do(eo_obj, evas_obj_smart_resize(eo_obj, w, h));
899 } 899 }
900 900
901 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) 901 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
@@ -944,7 +944,7 @@ evas_object_geometry_get(const Evas_Object *eo_obj, Evas_Coord *x, Evas_Coord *y
944 if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0; 944 if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0;
945 return; 945 return;
946 MAGIC_CHECK_END(); 946 MAGIC_CHECK_END();
947 eo_do((Eo *)eo_obj, efl_gfx_position_get(x, y), efl_gfx_size_get(w, h)); 947 eo_do((Eo *)eo_obj, efl_gfx_position_get(eo_obj, x, y), efl_gfx_size_get(eo_obj, w, h));
948} 948}
949 949
950EOLIAN static void 950EOLIAN static void
@@ -1211,14 +1211,14 @@ evas_object_show(Evas_Object *eo_obj)
1211 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ); 1211 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
1212 return; 1212 return;
1213 MAGIC_CHECK_END(); 1213 MAGIC_CHECK_END();
1214 eo_do(eo_obj, efl_gfx_visible_set(EINA_TRUE)); 1214 eo_do(eo_obj, efl_gfx_visible_set(eo_obj, EINA_TRUE));
1215} 1215}
1216 1216
1217EAPI void 1217EAPI void
1218evas_object_hide(Evas_Object *eo_obj) 1218evas_object_hide(Evas_Object *eo_obj)
1219{ 1219{
1220 if (!eo_obj) return; 1220 if (!eo_obj) return;
1221 eo_do(eo_obj, efl_gfx_visible_set(EINA_FALSE)); 1221 eo_do(eo_obj, efl_gfx_visible_set(eo_obj, EINA_FALSE));
1222} 1222}
1223 1223
1224EAPI Eina_Bool 1224EAPI Eina_Bool
@@ -1226,7 +1226,7 @@ evas_object_visible_get(const Evas_Object *obj)
1226{ 1226{
1227 Eina_Bool ret; 1227 Eina_Bool ret;
1228 1228
1229 return eo_do_ret((Evas_Object *)obj, ret, efl_gfx_visible_get()); 1229 return eo_do_ret((Evas_Object *)obj, ret, efl_gfx_visible_get(obj));
1230} 1230}
1231 1231
1232static void 1232static void
@@ -1251,7 +1251,7 @@ _show(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
1251 if (evas_object_intercept_call_show(eo_obj, obj)) return; 1251 if (evas_object_intercept_call_show(eo_obj, obj)) return;
1252 if (obj->is_smart) 1252 if (obj->is_smart)
1253 { 1253 {
1254 eo_do(eo_obj, evas_obj_smart_show()); 1254 eo_do(eo_obj, evas_obj_smart_show(eo_obj));
1255 } 1255 }
1256 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) 1256 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
1257 { 1257 {
@@ -1300,7 +1300,7 @@ _hide(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
1300 if (evas_object_intercept_call_hide(eo_obj, obj)) return; 1300 if (evas_object_intercept_call_hide(eo_obj, obj)) return;
1301 if (obj->is_smart) 1301 if (obj->is_smart)
1302 { 1302 {
1303 eo_do(eo_obj, evas_obj_smart_hide()); 1303 eo_do(eo_obj, evas_obj_smart_hide(eo_obj));
1304 } 1304 }
1305 1305
1306 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur) 1306 EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
@@ -1418,7 +1418,7 @@ _evas_object_efl_gfx_base_visible_get(Eo *eo_obj EINA_UNUSED,
1418EAPI void 1418EAPI void
1419evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a) 1419evas_object_color_set(Evas_Object *obj, int r, int g, int b, int a)
1420{ 1420{
1421 eo_do((Evas_Object *)obj, efl_gfx_color_set(r, g, b, a)); 1421 eo_do((Evas_Object *)obj, efl_gfx_color_set(obj, r, g, b, a));
1422} 1422}
1423 1423
1424EOLIAN static void 1424EOLIAN static void
@@ -1450,7 +1450,7 @@ _evas_object_efl_gfx_base_color_set(Eo *eo_obj, Evas_Object_Protected_Data *obj,
1450 if (evas_object_intercept_call_color_set(eo_obj, obj, r, g, b, a)) return; 1450 if (evas_object_intercept_call_color_set(eo_obj, obj, r, g, b, a)) return;
1451 if (obj->is_smart) 1451 if (obj->is_smart)
1452 { 1452 {
1453 eo_do(eo_obj, evas_obj_smart_color_set(r, g, b, a)); 1453 eo_do(eo_obj, evas_obj_smart_color_set(eo_obj, r, g, b, a));
1454 } 1454 }
1455 if ((obj->cur->color.r == r) && 1455 if ((obj->cur->color.r == r) &&
1456 (obj->cur->color.g == g) && 1456 (obj->cur->color.g == g) &&
@@ -1492,7 +1492,7 @@ _evas_object_efl_gfx_base_color_part_set(Eo *obj, Evas_Object_Protected_Data *pd
1492EAPI void 1492EAPI void
1493evas_object_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a) 1493evas_object_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a)
1494{ 1494{
1495 eo_do((Evas_Object *)obj, efl_gfx_color_get(r, g, b, a)); 1495 eo_do((Evas_Object *)obj, efl_gfx_color_get(obj, r, g, b, a));
1496} 1496}
1497 1497
1498EOLIAN static void 1498EOLIAN static void
@@ -1597,7 +1597,7 @@ _evas_object_render_op_get(Eo *eo_obj EINA_UNUSED, Evas_Object_Protected_Data *o
1597EOLIAN static void 1597EOLIAN static void
1598_evas_object_eo_base_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Data *obj EINA_UNUSED, Eo_Dbg_Info *root) 1598_evas_object_eo_base_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Data *obj EINA_UNUSED, Eo_Dbg_Info *root)
1599{ 1599{
1600 eo_do_super(eo_obj, MY_CLASS, eo_dbg_info_get(root)); 1600 eo_super_eo_dbg_info_get(MY_CLASS, eo_obj, root);
1601 Eo_Dbg_Info *group = EO_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME); 1601 Eo_Dbg_Info *group = EO_DBG_INFO_LIST_APPEND(root, MY_CLASS_NAME);
1602 Eo_Dbg_Info *node; 1602 Eo_Dbg_Info *node;
1603 const char *name; 1603 const char *name;
@@ -1620,24 +1620,24 @@ _evas_object_eo_base_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Data *obj EI
1620 Eina_Bool clipees_has; 1620 Eina_Bool clipees_has;
1621 1621
1622 eo_do(eo_obj, 1622 eo_do(eo_obj,
1623 visible = efl_gfx_visible_get(), 1623 visible = efl_gfx_visible_get(eo_obj),
1624 layer = efl_gfx_stack_layer_get(), 1624 layer = efl_gfx_stack_layer_get(eo_obj),
1625 name = evas_obj_name_get(), 1625 name = evas_obj_name_get(eo_obj),
1626 efl_gfx_position_get(&x, &y), 1626 efl_gfx_position_get(eo_obj, &x, &y),
1627 efl_gfx_size_get(&w, &h), 1627 efl_gfx_size_get(eo_obj, &w, &h),
1628 scale = evas_obj_scale_get(), 1628 scale = evas_obj_scale_get(eo_obj),
1629 evas_obj_size_hint_min_get(&minw, &minh), 1629 evas_obj_size_hint_min_get(eo_obj, &minw, &minh),
1630 evas_obj_size_hint_max_get(&maxw, &maxh), 1630 evas_obj_size_hint_max_get(eo_obj, &maxw, &maxh),
1631 evas_obj_size_hint_request_get(&requestw, &requesth), 1631 evas_obj_size_hint_request_get(eo_obj, &requestw, &requesth),
1632 evas_obj_size_hint_align_get(&dblx, &dbly), 1632 evas_obj_size_hint_align_get(eo_obj, &dblx, &dbly),
1633 evas_obj_size_hint_weight_get(&dblw, &dblh), 1633 evas_obj_size_hint_weight_get(eo_obj, &dblw, &dblh),
1634 efl_gfx_color_get(&r, &g, &b, &a), 1634 efl_gfx_color_get(eo_obj, &r, &g, &b, &a),
1635 focus = evas_obj_focus_get(), 1635 focus = evas_obj_focus_get(eo_obj),
1636 m = evas_obj_pointer_mode_get(), 1636 m = evas_obj_pointer_mode_get(eo_obj),
1637 pass_event = evas_obj_pass_events_get(), 1637 pass_event = evas_obj_pass_events_get(eo_obj),
1638 repeat_event = evas_obj_repeat_events_get(), 1638 repeat_event = evas_obj_repeat_events_get(eo_obj),
1639 propagate_event = evas_obj_propagate_events_get(), 1639 propagate_event = evas_obj_propagate_events_get(eo_obj),
1640 clipees_has = evas_obj_clipees_has()); 1640 clipees_has = evas_obj_clipees_has(eo_obj));
1641 1641
1642 EO_DBG_INFO_APPEND(group, "Visibility", EINA_VALUE_TYPE_CHAR, visible); 1642 EO_DBG_INFO_APPEND(group, "Visibility", EINA_VALUE_TYPE_CHAR, visible);
1643 1643
@@ -1712,7 +1712,7 @@ _evas_object_eo_base_dbg_info_get(Eo *eo_obj, Evas_Object_Protected_Data *obj EI
1712 EO_DBG_INFO_APPEND(group, "Has clipees", EINA_VALUE_TYPE_CHAR, clipees_has); 1712 EO_DBG_INFO_APPEND(group, "Has clipees", EINA_VALUE_TYPE_CHAR, clipees_has);
1713 1713
1714 Evas_Object *clipper = NULL; 1714 Evas_Object *clipper = NULL;
1715 eo_do(eo_obj, clipper = evas_obj_clip_get()); 1715 eo_do(eo_obj, clipper = evas_obj_clip_get(eo_obj));
1716 EO_DBG_INFO_APPEND(group, "Clipper", EINA_VALUE_TYPE_UINT64, (uintptr_t) clipper); 1716 EO_DBG_INFO_APPEND(group, "Clipper", EINA_VALUE_TYPE_UINT64, (uintptr_t) clipper);
1717 1717
1718 const Evas_Map *map = evas_object_map_get(eo_obj); 1718 const Evas_Map *map = evas_object_map_get(eo_obj);
@@ -1788,7 +1788,7 @@ evas_object_top_at_pointer_get(const Evas *eo_e)
1788 Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS); 1788 Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
1789 Evas_Object *ret = NULL; 1789 Evas_Object *ret = NULL;
1790 if (!e) return NULL; 1790 if (!e) return NULL;
1791 eo_do((Eo *)eo_e, ret = evas_canvas_object_top_at_xy_get(e->pointer.x, e->pointer.y, EINA_TRUE, 1791 eo_do((Eo *)eo_e, ret = evas_canvas_object_top_at_xy_get(eo_e, e->pointer.x, e->pointer.y, EINA_TRUE,
1792 EINA_TRUE)); 1792 EINA_TRUE));
1793 return ret; 1793 return ret;
1794} 1794}
diff --git a/src/lib/evas/canvas/evas_object_polygon.c b/src/lib/evas/canvas/evas_object_polygon.c
index 406ae56..4960920 100644
--- a/src/lib/evas/canvas/evas_object_polygon.c
+++ b/src/lib/evas/canvas/evas_object_polygon.c
@@ -98,14 +98,15 @@ evas_object_polygon_add(Evas *e)
98 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 98 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
99 return NULL; 99 return NULL;
100 MAGIC_CHECK_END(); 100 MAGIC_CHECK_END();
101 Evas_Object *eo_obj = eo_add(EVAS_POLYGON_CLASS, e); 101 Evas_Object *eo_obj;
102 eo_add(eo_obj, EVAS_POLYGON_CLASS, e);
102 return eo_obj; 103 return eo_obj;
103} 104}
104 105
105EOLIAN static Eo * 106EOLIAN static Eo *
106_evas_polygon_eo_base_constructor(Eo *eo_obj, Evas_Polygon_Data *class_data EINA_UNUSED) 107_evas_polygon_eo_base_constructor(Eo *eo_obj, Evas_Polygon_Data *class_data EINA_UNUSED)
107{ 108{
108 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 109 eo_obj = eo_super_eo_constructor( MY_CLASS, eo_obj);
109 110
110 evas_object_polygon_init(eo_obj); 111 evas_object_polygon_init(eo_obj);
111 112
@@ -280,7 +281,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); 281 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS);
281 282
282 evas_object_polygon_free(eo_obj, obj, obj->private_data); 283 evas_object_polygon_free(eo_obj, obj, obj->private_data);
283 eo_do_super(eo_obj, MY_CLASS, eo_destructor()); 284 eo_super_eo_destructor(MY_CLASS, eo_obj);
284} 285}
285 286
286static void 287static void
diff --git a/src/lib/evas/canvas/evas_object_rectangle.c b/src/lib/evas/canvas/evas_object_rectangle.c
index a22c990..c57698a 100644
--- a/src/lib/evas/canvas/evas_object_rectangle.c
+++ b/src/lib/evas/canvas/evas_object_rectangle.c
@@ -95,14 +95,15 @@ evas_object_rectangle_add(Evas *e)
95 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 95 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
96 return NULL; 96 return NULL;
97 MAGIC_CHECK_END(); 97 MAGIC_CHECK_END();
98 Evas_Object *eo_obj = eo_add(EVAS_RECTANGLE_CLASS, e); 98 Evas_Object *eo_obj;
99 eo_add(eo_obj, EVAS_RECTANGLE_CLASS, e);
99 return eo_obj; 100 return eo_obj;
100} 101}
101 102
102EOLIAN static Eo * 103EOLIAN static Eo *
103_evas_rectangle_eo_base_constructor(Eo *eo_obj, Evas_Rectangle_Data *class_data EINA_UNUSED) 104_evas_rectangle_eo_base_constructor(Eo *eo_obj, Evas_Rectangle_Data *class_data EINA_UNUSED)
104{ 105{
105 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 106 eo_obj = eo_super_eo_constructor( MY_CLASS, eo_obj);
106 107
107 evas_object_rectangle_init(eo_obj); 108 evas_object_rectangle_init(eo_obj);
108 109
diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c
index 1529f75..273bef6 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -200,7 +200,7 @@ evas_object_smart_member_add(Evas_Object *eo_obj, Evas_Object *smart_obj)
200 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ); 200 MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ);
201 return; 201 return;
202 MAGIC_CHECK_END(); 202 MAGIC_CHECK_END();
203 eo_do(smart_obj, evas_obj_smart_member_add(eo_obj)); 203 eo_do(smart_obj, evas_obj_smart_member_add(smart_obj, eo_obj));
204} 204}
205 205
206EOLIAN static void 206EOLIAN static void
@@ -275,7 +275,7 @@ evas_object_smart_member_del(Evas_Object *eo_obj)
275 if (!obj->smart.parent) return; 275 if (!obj->smart.parent) return;
276 Evas_Object *smart_obj = obj->smart.parent; 276 Evas_Object *smart_obj = obj->smart.parent;
277 277
278 eo_do(smart_obj, evas_obj_smart_member_del(eo_obj)); 278 eo_do(smart_obj, evas_obj_smart_member_del(smart_obj, eo_obj));
279} 279}
280 280
281EOLIAN static void 281EOLIAN static void
@@ -539,8 +539,8 @@ evas_object_smart_add(Evas *eo_e, Evas_Smart *s)
539 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS); 539 MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS);
540 return NULL; 540 return NULL;
541 MAGIC_CHECK_END(); 541 MAGIC_CHECK_END();
542 eo_obj = eo_add(EVAS_OBJECT_SMART_CLASS, eo_e); 542 eo_add(eo_obj, EVAS_OBJECT_SMART_CLASS, eo_e);
543 eo_do(eo_obj, evas_obj_smart_attach(s)); 543 eo_do(eo_obj, evas_obj_smart_attach(eo_obj, s));
544 return eo_obj; 544 return eo_obj;
545} 545}
546 546
@@ -552,12 +552,12 @@ _evas_object_smart_eo_base_constructor(Eo *eo_obj, Evas_Smart_Data *class_data E
552 smart = class_data; 552 smart = class_data;
553 smart->object = eo_obj; 553 smart->object = eo_obj;
554 554
555 eo_obj = eo_do_super_ret(eo_obj, MY_CLASS, eo_obj, eo_constructor()); 555 eo_obj = eo_super_eo_constructor( MY_CLASS, eo_obj);
556 evas_object_smart_init(eo_obj); 556 evas_object_smart_init(eo_obj);
557 557
558 eo_do(eo_obj, 558 eo_do(eo_obj,
559 evas_obj_type_set(MY_CLASS_NAME_LEGACY), 559 evas_obj_type_set(eo_obj, MY_CLASS_NAME_LEGACY),
560 evas_obj_smart_add()); 560 evas_obj_smart_add(eo_obj));
561 561
562 return eo_obj; 562 return eo_obj;
563} 563}
@@ -677,7 +677,7 @@ _evas_object_smart_attach(Eo *eo_obj, Evas_Smart_Data *_pd EINA_UNUSED, Evas_Sma
677 } 677 }
678 } 678 }
679 679
680 eo_do(eo_obj, evas_obj_smart_add()); 680 eo_do(eo_obj, evas_obj_smart_add(eo_obj));
681} 681}
682 682
683EAPI void 683EAPI void
@@ -709,7 +709,7 @@ evas_object_smart_callback_priority_add(Evas_Object *eo_obj, const char *event,
709 o->callbacks = eina_inlist_append(o->callbacks, 709 o->callbacks = eina_inlist_append(o->callbacks,
710 EINA_INLIST_GET(cb_info)); 710 EINA_INLIST_GET(cb_info));
711 711
712 eo_do(eo_obj, eo_event_callback_priority_add(eo_desc, priority, _eo_evas_smart_cb, cb_info)); 712 eo_do(eo_obj, eo_event_callback_priority_add(eo_obj, eo_desc, priority, _eo_evas_smart_cb, cb_info));
713} 713}
714 714
715EAPI void * 715EAPI void *
@@ -732,7 +732,7 @@ evas_object_smart_callback_del(Evas_Object *eo_obj, const char *event, Evas_Smar
732 if ((info->func == func) && (info->event == eo_desc)) 732 if ((info->func == func) && (info->event == eo_desc))
733 { 733 {
734 void *tmp = info->data; 734 void *tmp = info->data;
735 eo_do(eo_obj, eo_event_callback_del( 735 eo_do(eo_obj, eo_event_callback_del(eo_obj,
736 eo_desc, _eo_evas_smart_cb, info)); 736 eo_desc, _eo_evas_smart_cb, info));
737 737
738 o->callbacks = 738 o->callbacks =
@@ -764,7 +764,7 @@ evas_object_smart_callback_del_full(Evas_Object *eo_obj, const char *event, Evas
764 if ((info->func == func) && (info->event == eo_desc) && (info->data == data)) 764 if ((info->func == func) && (info->event == eo_desc) && (info->data == data))
765 { 765 {
766 void *tmp = info->data; 766 void *tmp = info->data;
767 eo_do(eo_obj, eo_event_callback_del( 767 eo_do(eo_obj, eo_event_callback_del(eo_obj,
768 eo_desc, _eo_evas_smart_cb, info)); 768 eo_desc, _eo_evas_smart_cb, info));
769 769
770 o->callbacks = 770 o->callbacks =
@@ -785,7 +785,7 @@ evas_object_smart_callback_call(Evas_Object *eo_obj, const char *event, void *ev
785 785
786 if (!event) return; 786 if (!event) return;
787 const Eo_Event_Description *eo_desc = eo_base_legacy_only_event_description_get(event); 787 const Eo_Event_Description *eo_desc = eo_base_legacy_only_event_description_get(event);
788 eo_do(eo_obj, eo_event_callback_call(eo_desc, event_info)); 788 eo_do(eo_obj, eo_event_callback_call(eo_obj, eo_desc, event_info));
789} 789}
790 790
791EOLIAN static Eina_Bool 791EOLIAN static Eina_Bool
@@ -948,7 +948,7 @@ evas_call_smarts_calculate(Evas *eo_e)
948 if (obj->smart.smart && obj->smart.smart->smart_class->calculate) 948 if (obj->smart.smart && obj->smart.smart->smart_class->calculate)
949 obj->smart.smart->smart_class->calculate(obj->object); 949 obj->smart.smart->smart_class->calculate(obj->object);
950 else 950 else
951 eo_do(obj->object, evas_obj_smart_calculate()); 951 eo_do(obj->object, evas_obj_smart_calculate(obj->object));
952 } 952 }
953 } 953 }
954 954
@@ -971,7 +971,7 @@ _evas_object_smart_changed(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED)
971 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS); 971 Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS);
972 evas_object_async_block(obj); 972 evas_object_async_block(obj);
973 evas_object_change(eo_obj, obj); 973 evas_object_change(eo_obj, obj);
974 eo_do(eo_obj, evas_obj_smart_need_recalculate_set(1)); 974 eo_do(eo_obj, evas_obj_smart_need_recalculate_set(eo_obj, 1));
975} 975}
976 976
977Eina_Bool 977Eina_Bool
@@ -1018,7 +1018,7 @@ evas_object_smart_del(Evas_Object *eo_obj)
1018 if (s && s->smart_class->del) 1018 if (s && s->smart_class->del)
1019 s->smart_class->del(eo_obj); 1019 s->smart_class->del(eo_obj);
1020 else 1020 else
1021 eo_do(eo_obj, evas_obj_smart_del()); 1021 eo_do(eo_obj, evas_obj_smart_del(eo_obj));
1022 if (obj->smart.parent) evas_object_smart_member_del(eo_obj); 1022 if (obj->smart.parent) evas_object_smart_member_del(eo_obj);
1023 1023
1024 if (s) 1024 if (s)
@@ -1212,14 +1212,14 @@ evas_object_smart_cleanup(Evas_Object *eo_obj)
1212 while (o->callbacks) 1212 while (o->callbacks)
1213 { 1213 {
1214 _eo_evas_smart_cb_info *info = (_eo_evas_smart_cb_info *)o->callbacks; 1214 _eo_evas_smart_cb_info *info = (_eo_evas_smart_cb_info *)o->callbacks;
1215 eo_do(eo_obj, eo_event_callback_del( 1215 eo_do(eo_obj, eo_event_callback_del(eo_obj,
1216 info->event, _eo_evas_smart_cb, info)); 1216 info->event, _eo_evas_smart_cb, info));
1217 o->callbacks = eina_inlist_remove(o->callbacks, EINA_INLIST_GET(info)); 1217 o->callbacks = eina_inlist_remove(o->callbacks, EINA_INLIST_GET(info));
1218 free(info); 1218 free(info);
1219 } 1219 }
1220 1220
1221 evas_smart_cb_descriptions_resize(&o->callbacks_descriptions, 0); 1221 evas_smart_cb_descriptions_resize(&o->callbacks_descriptions, 0);
1222 eo_do(eo_obj, evas_obj_smart_data_set(NULL)); 1222 eo_do(eo_obj, evas_obj_smart_data_set(eo_obj, NULL));
1223 } 1223 }
1224 1224
1225 obj->smart.parent = NULL; 1225 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..28d1ae0 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 eo_super_evas_obj_smart_member_add(MY_CLASS, eo_obj, 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)