summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2014-09-25 10:24:27 +0100
committerTom Hacohen <tom@stosb.com>2014-09-25 10:30:56 +0100
commit6846978ebd027fff1de57d526071517243354354 (patch)
tree6ff7651990561224738e332b2ccd3fa84e47dc4f
parent8204212f36d936f951accda61fd2f7f329390b71 (diff)
Eo: Get rid of eo_add_custom.
We decided to deprecate this one in favour of setting thing in the construction between the constructor and the finalizer.
-rw-r--r--src/examples/ecore/ecore_idler_example.c2
-rw-r--r--src/examples/ecore/ecore_poller_example.c6
-rw-r--r--src/examples/evas/evas-3d-aabb.c10
-rw-r--r--src/examples/evas/evas-3d-cube-rotate.c8
-rw-r--r--src/examples/evas/evas-3d-cube.c8
-rw-r--r--src/examples/evas/evas-3d-cube2.c8
-rw-r--r--src/examples/evas/evas-3d-fog.c10
-rw-r--r--src/examples/evas/evas-3d-frustum.c8
-rw-r--r--src/examples/evas/evas-3d-md2.c8
-rw-r--r--src/examples/evas/evas-3d-moon-space.c12
-rw-r--r--src/examples/evas/evas-3d-obj.c8
-rw-r--r--src/examples/evas/evas-3d-pick.c6
-rw-r--r--src/examples/evas/evas-3d-proxy.c8
-rw-r--r--src/examples/evas/evas-3d-shadows.c10
-rw-r--r--src/examples/evas/shooter/evas-3d-shooter-header.c6
-rw-r--r--src/examples/evas/shooter/evas-3d-shooter.c28
-rw-r--r--src/lib/ecore/ecore_anim.c12
-rw-r--r--src/lib/ecore/ecore_animator.eo1
-rw-r--r--src/lib/ecore/ecore_idle_enterer.c12
-rw-r--r--src/lib/ecore/ecore_idle_enterer.eo1
-rw-r--r--src/lib/ecore/ecore_idle_exiter.c10
-rw-r--r--src/lib/ecore/ecore_idle_exiter.eo1
-rw-r--r--src/lib/ecore/ecore_idler.c10
-rw-r--r--src/lib/ecore/ecore_idler.eo1
-rw-r--r--src/lib/ecore/ecore_job.c10
-rw-r--r--src/lib/ecore/ecore_job.eo1
-rw-r--r--src/lib/ecore/ecore_poller.c10
-rw-r--r--src/lib/ecore/ecore_poller.eo1
-rw-r--r--src/lib/ecore/ecore_timer.c12
-rw-r--r--src/lib/ecore/ecore_timer.eo1
-rw-r--r--src/lib/eo/Eo.h23
-rw-r--r--src/lib/evas/canvas/evas_3d_node.c11
-rw-r--r--src/lib/evas/canvas/evas_3d_node.eo1
-rw-r--r--src/tests/ecore/ecore_test_animator.c4
-rw-r--r--src/tests/eo/suite/eo_test_general.c4
-rw-r--r--src/tests/eo/suite/eo_test_threaded_calls.c6
36 files changed, 90 insertions, 188 deletions
diff --git a/src/examples/ecore/ecore_idler_example.c b/src/examples/ecore/ecore_idler_example.c
index 144f56ff7a..29919265a9 100644
--- a/src/examples/ecore/ecore_idler_example.c
+++ b/src/examples/ecore/ecore_idler_example.c
@@ -111,7 +111,7 @@ main(void)
111 ctxt.enterer = ecore_idle_enterer_add(_enterer_cb, &ctxt); 111 ctxt.enterer = ecore_idle_enterer_add(_enterer_cb, &ctxt);
112 ctxt.exiter = ecore_idle_exiter_add(_exiter_cb, &ctxt); 112 ctxt.exiter = ecore_idle_exiter_add(_exiter_cb, &ctxt);
113 ctxt.idler = ecore_idler_add(_idler_cb, &ctxt); 113 ctxt.idler = ecore_idler_add(_idler_cb, &ctxt);
114// ctxt.idler = eo_add_custom(ECORE_IDLER_CLASS, NULL, ecore_idler_constructor(_idler_cb, &ctxt)); 114// ctxt.idler = eo_add(ECORE_IDLER_CLASS, NULL, ecore_idler_constructor(_idler_cb, &ctxt));
115 ctxt.handler = ecore_event_handler_add(_event_type, 115 ctxt.handler = ecore_event_handler_add(_event_type,
116 _event_handler_cb, 116 _event_handler_cb,
117 &ctxt); 117 &ctxt);
diff --git a/src/examples/ecore/ecore_poller_example.c b/src/examples/ecore/ecore_poller_example.c
index d0e896c7f5..c3d8f69f95 100644
--- a/src/examples/ecore/ecore_poller_example.c
+++ b/src/examples/ecore/ecore_poller_example.c
@@ -48,11 +48,11 @@ main(void)
48 poller2 = ecore_poller_add(ECORE_POLLER_CORE, 8, _poller_print_cb, str2); 48 poller2 = ecore_poller_add(ECORE_POLLER_CORE, 8, _poller_print_cb, str2);
49 poller3 = ecore_poller_add(ECORE_POLLER_CORE, 30, _poller_quit_cb, str3); 49 poller3 = ecore_poller_add(ECORE_POLLER_CORE, 30, _poller_quit_cb, str3);
50 50
51// poller1 = eo_add_custom(ECORE_POLLER_CLASS, NULL, 51// poller1 = eo_add(ECORE_POLLER_CLASS, NULL,
52// ecore_poller_constructor(ECORE_POLLER_CORE, 4, _poller_print_cb, str1)); 52// ecore_poller_constructor(ECORE_POLLER_CORE, 4, _poller_print_cb, str1));
53// poller2 = eo_add_custom(ECORE_POLLER_CLASS, NULL, 53// poller2 = eo_add(ECORE_POLLER_CLASS, NULL,
54// ecore_poller_constructor(ECORE_POLLER_CORE, 8, _poller_print_cb, str2)); 54// ecore_poller_constructor(ECORE_POLLER_CORE, 8, _poller_print_cb, str2));
55// poller3 = eo_add_custom(ECORE_POLLER_CLASS, NULL, 55// poller3 = eo_add(ECORE_POLLER_CLASS, NULL,
56// ecore_poller_constructor(ECORE_POLLER_CORE, 20, _poller_quit_cb, str3)); 56// ecore_poller_constructor(ECORE_POLLER_CORE, 20, _poller_quit_cb, str3));
57 57
58 58
diff --git a/src/examples/evas/evas-3d-aabb.c b/src/examples/evas/evas-3d-aabb.c
index 42e7ed4b7f..f57889de54 100644
--- a/src/examples/evas/evas-3d-aabb.c
+++ b/src/examples/evas/evas-3d-aabb.c
@@ -187,7 +187,7 @@ main(void)
187 187
188 scene = eo_add(EVAS_3D_SCENE_CLASS, evas); 188 scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
189 189
190 root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 190 root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
191 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 191 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
192 192
193 camera = eo_add(EVAS_3D_CAMERA_CLASS, evas); 193 camera = eo_add(EVAS_3D_CAMERA_CLASS, evas);
@@ -195,7 +195,7 @@ main(void)
195 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0)); 195 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0));
196 196
197 camera_node = 197 camera_node =
198 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 198 eo_add(EVAS_3D_NODE_CLASS, evas,
199 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 199 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
200 eo_do(camera_node, 200 eo_do(camera_node,
201 evas_3d_node_camera_set(camera)); 201 evas_3d_node_camera_set(camera));
@@ -213,7 +213,7 @@ main(void)
213 evas_3d_light_directional_set(EINA_TRUE)); 213 evas_3d_light_directional_set(EINA_TRUE));
214 214
215 light_node = 215 light_node =
216 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 216 eo_add(EVAS_3D_NODE_CLASS, evas,
217 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 217 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
218 eo_do(light_node, 218 eo_do(light_node,
219 evas_3d_node_light_set(light), 219 evas_3d_node_light_set(light),
@@ -252,9 +252,9 @@ main(void)
252 1.0, 1.0, 1.0, 1.0), 252 1.0, 1.0, 1.0, 1.0),
253 evas_3d_material_shininess_set(50.0)); 253 evas_3d_material_shininess_set(50.0));
254 254
255 mesh_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 255 mesh_node = eo_add(EVAS_3D_NODE_CLASS, evas,
256 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 256 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
257 mesh_box_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 257 mesh_box_node = eo_add(EVAS_3D_NODE_CLASS, evas,
258 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 258 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
259 259
260 material_box = eo_add(EVAS_3D_MATERIAL_CLASS, evas); 260 material_box = eo_add(EVAS_3D_MATERIAL_CLASS, evas);
diff --git a/src/examples/evas/evas-3d-cube-rotate.c b/src/examples/evas/evas-3d-cube-rotate.c
index a0a680d03c..1689d7e0f3 100644
--- a/src/examples/evas/evas-3d-cube-rotate.c
+++ b/src/examples/evas/evas-3d-cube-rotate.c
@@ -218,7 +218,7 @@ _camera_setup(Scene_Data *data)
218 eo_do(data->camera, 218 eo_do(data->camera,
219 evas_3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0)); 219 evas_3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
220 220
221 data->camera_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 221 data->camera_node = eo_add(EVAS_3D_NODE_CLASS, evas,
222 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 222 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
223 eo_do(data->camera_node, 223 eo_do(data->camera_node,
224 evas_3d_node_camera_set(data->camera), 224 evas_3d_node_camera_set(data->camera),
@@ -238,7 +238,7 @@ _light_setup(Scene_Data *data)
238 evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 238 evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
239 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 239 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
240 240
241 data->light_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 241 data->light_node = eo_add(EVAS_3D_NODE_CLASS, evas,
242 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 242 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
243 243
244 eo_do(data->light_node, 244 eo_do(data->light_node,
@@ -284,7 +284,7 @@ _mesh_setup(Scene_Data *data)
284 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG), 284 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
285 evas_3d_mesh_frame_material_set(0, data->material)); 285 evas_3d_mesh_frame_material_set(0, data->material));
286 286
287 data->mesh_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 287 data->mesh_node = eo_add(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
288 eo_do(data->root_node, 288 eo_do(data->root_node,
289 evas_3d_node_member_add(data->mesh_node)); 289 evas_3d_node_member_add(data->mesh_node));
290 eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh)); 290 eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh));
@@ -294,7 +294,7 @@ static void
294_scene_setup(Scene_Data *data) 294_scene_setup(Scene_Data *data)
295{ 295{
296 scene = eo_add(EVAS_3D_SCENE_CLASS, evas); 296 scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
297 data->root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 297 data->root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
298 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 298 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
299 299
300 eo_do(scene, 300 eo_do(scene,
diff --git a/src/examples/evas/evas-3d-cube.c b/src/examples/evas/evas-3d-cube.c
index ed99272c37..a9bc74641a 100644
--- a/src/examples/evas/evas-3d-cube.c
+++ b/src/examples/evas/evas-3d-cube.c
@@ -130,7 +130,7 @@ _camera_setup(Scene_Data *data)
130 evas_3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0)); 130 evas_3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
131 131
132 data->camera_node = 132 data->camera_node =
133 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 133 eo_add(EVAS_3D_NODE_CLASS, evas,
134 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 134 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
135 eo_do(data->camera_node, 135 eo_do(data->camera_node,
136 evas_3d_node_camera_set(data->camera), 136 evas_3d_node_camera_set(data->camera),
@@ -150,7 +150,7 @@ _light_setup(Scene_Data *data)
150 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 150 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
151 151
152 data->light_node = 152 data->light_node =
153 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 153 eo_add(EVAS_3D_NODE_CLASS, evas,
154 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 154 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
155 eo_do(data->light_node, 155 eo_do(data->light_node,
156 evas_3d_node_light_set(data->light), 156 evas_3d_node_light_set(data->light),
@@ -199,7 +199,7 @@ _mesh_setup(Scene_Data *data)
199 evas_3d_mesh_frame_material_set(0, data->material)); 199 evas_3d_mesh_frame_material_set(0, data->material));
200 200
201 data->mesh_node = 201 data->mesh_node =
202 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 202 eo_add(EVAS_3D_NODE_CLASS, evas,
203 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 203 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
204 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node)); 204 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node));
205 eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh)); 205 eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh));
@@ -214,7 +214,7 @@ _scene_setup(Scene_Data *data)
214 evas_3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0)); 214 evas_3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
215 215
216 data->root_node = 216 data->root_node =
217 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 217 eo_add(EVAS_3D_NODE_CLASS, evas,
218 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 218 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
219 219
220 _camera_setup(data); 220 _camera_setup(data);
diff --git a/src/examples/evas/evas-3d-cube2.c b/src/examples/evas/evas-3d-cube2.c
index c255545950..68e30d7168 100644
--- a/src/examples/evas/evas-3d-cube2.c
+++ b/src/examples/evas/evas-3d-cube2.c
@@ -159,7 +159,7 @@ _camera_setup(Scene_Data *data)
159 evas_3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0)); 159 evas_3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
160 160
161 data->camera_node = 161 data->camera_node =
162 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 162 eo_add(EVAS_3D_NODE_CLASS, evas,
163 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 163 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
164 eo_do(data->camera_node, 164 eo_do(data->camera_node,
165 evas_3d_node_camera_set(data->camera), 165 evas_3d_node_camera_set(data->camera),
@@ -180,7 +180,7 @@ _light_setup(Scene_Data *data)
180 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 180 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
181 181
182 data->light_node = 182 data->light_node =
183 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 183 eo_add(EVAS_3D_NODE_CLASS, evas,
184 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 184 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
185 eo_do(data->light_node, 185 eo_do(data->light_node,
186 evas_3d_node_light_set(data->light), 186 evas_3d_node_light_set(data->light),
@@ -265,7 +265,7 @@ _mesh_setup(Scene_Data *data)
265 evas_3d_mesh_frame_material_set(20, data->material1)); 265 evas_3d_mesh_frame_material_set(20, data->material1));
266 266
267 data->mesh_node = 267 data->mesh_node =
268 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 268 eo_add(EVAS_3D_NODE_CLASS, evas,
269 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 269 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
270 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node)); 270 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node));
271 eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh)); 271 eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh));
@@ -280,7 +280,7 @@ _scene_setup(Scene_Data *data)
280 evas_3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0)); 280 evas_3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
281 281
282 data->root_node = 282 data->root_node =
283 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 283 eo_add(EVAS_3D_NODE_CLASS, evas,
284 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 284 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
285 285
286 _camera_setup(data); 286 _camera_setup(data);
diff --git a/src/examples/evas/evas-3d-fog.c b/src/examples/evas/evas-3d-fog.c
index 300b30a86d..33707431ec 100644
--- a/src/examples/evas/evas-3d-fog.c
+++ b/src/examples/evas/evas-3d-fog.c
@@ -102,7 +102,7 @@ _camera_setup(Scene_Data *data)
102 evas_3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0)); 102 evas_3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
103 103
104 data->camera_node = 104 data->camera_node =
105 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 105 eo_add(EVAS_3D_NODE_CLASS, evas,
106 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 106 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
107 107
108 eo_do(data->camera_node, 108 eo_do(data->camera_node,
@@ -124,7 +124,7 @@ _light_setup(Scene_Data *data)
124 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 124 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
125 125
126 data->light_node = 126 data->light_node =
127 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 127 eo_add(EVAS_3D_NODE_CLASS, evas,
128 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 128 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
129 eo_do(data->light_node, 129 eo_do(data->light_node,
130 evas_3d_node_light_set(data->light), 130 evas_3d_node_light_set(data->light),
@@ -223,14 +223,14 @@ _mesh_setup(Scene_Data *data)
223 _set_ball(data->mesh1, 2, 0, 0, 0, 100, data->material); 223 _set_ball(data->mesh1, 2, 0, 0, 0, 100, data->material);
224 224
225 data->mesh_node = 225 data->mesh_node =
226 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 226 eo_add(EVAS_3D_NODE_CLASS, evas,
227 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 227 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
228 228
229 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node)); 229 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node));
230 eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh)); 230 eo_do(data->mesh_node, evas_3d_node_mesh_add(data->mesh));
231 231
232 data->mesh_node1 = 232 data->mesh_node1 =
233 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 233 eo_add(EVAS_3D_NODE_CLASS, evas,
234 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 234 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
235 235
236 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node1)); 236 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node1));
@@ -250,7 +250,7 @@ _scene_setup(Scene_Data *data)
250 evas_3d_scene_background_color_set(FOG_COLOR, 1)); 250 evas_3d_scene_background_color_set(FOG_COLOR, 1));
251 251
252 data->root_node = 252 data->root_node =
253 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 253 eo_add(EVAS_3D_NODE_CLASS, evas,
254 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 254 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
255 255
256 _camera_setup(data); 256 _camera_setup(data);
diff --git a/src/examples/evas/evas-3d-frustum.c b/src/examples/evas/evas-3d-frustum.c
index d5c67ef8a6..be81addc9f 100644
--- a/src/examples/evas/evas-3d-frustum.c
+++ b/src/examples/evas/evas-3d-frustum.c
@@ -121,7 +121,7 @@ static void
121_camera_setup(Scene_Data *data) 121_camera_setup(Scene_Data *data)
122{ 122{
123 data->camera = eo_add(EVAS_3D_CAMERA_CLASS, evas); 123 data->camera = eo_add(EVAS_3D_CAMERA_CLASS, evas);
124 data->camera_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 124 data->camera_node = eo_add(EVAS_3D_NODE_CLASS, evas,
125 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 125 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
126 eo_do(data->camera_node, 126 eo_do(data->camera_node,
127 evas_3d_node_camera_set(data->camera), 127 evas_3d_node_camera_set(data->camera),
@@ -140,7 +140,7 @@ _light_setup(Scene_Data *data)
140 evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0); 140 evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0);
141 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 141 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
142 142
143 data->light_node = eo_add_custom(EVAS_3D_NODE_CLASS,evas, 143 data->light_node = eo_add(EVAS_3D_NODE_CLASS,evas,
144 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 144 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
145 eo_do(data->light_node, 145 eo_do(data->light_node,
146 evas_3d_node_light_set(data->light), 146 evas_3d_node_light_set(data->light),
@@ -185,13 +185,13 @@ _scene_setup(Scene_Data *data)
185{ 185{
186 data->scene = eo_add(EVAS_3D_SCENE_CLASS, evas); 186 data->scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
187 187
188 data->root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 188 data->root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
189 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 189 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
190 _camera_setup(data); 190 _camera_setup(data);
191 _light_setup(data); 191 _light_setup(data);
192 _mesh_setup_model(data); 192 _mesh_setup_model(data);
193 193
194 data->mesh_node_model = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 194 data->mesh_node_model = eo_add(EVAS_3D_NODE_CLASS, evas,
195 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 195 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
196 eo_do(data->mesh_node_model, 196 eo_do(data->mesh_node_model,
197 evas_3d_node_position_set(0, 0, 0); 197 evas_3d_node_position_set(0, 0, 0);
diff --git a/src/examples/evas/evas-3d-md2.c b/src/examples/evas/evas-3d-md2.c
index 8a49ee62d9..c8f3362a3d 100644
--- a/src/examples/evas/evas-3d-md2.c
+++ b/src/examples/evas/evas-3d-md2.c
@@ -77,7 +77,7 @@ main(void)
77 scene = eo_add(EVAS_3D_SCENE_CLASS, evas); 77 scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
78 78
79 /* Add the root node for the scene. */ 79 /* Add the root node for the scene. */
80 root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 80 root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
81 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 81 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
82 82
83 /* Add the camera. */ 83 /* Add the camera. */
@@ -86,7 +86,7 @@ main(void)
86 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0)); 86 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0));
87 87
88 camera_node = 88 camera_node =
89 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 89 eo_add(EVAS_3D_NODE_CLASS, evas,
90 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 90 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
91 eo_do(camera_node, 91 eo_do(camera_node,
92 evas_3d_node_camera_set(camera)); 92 evas_3d_node_camera_set(camera));
@@ -105,7 +105,7 @@ main(void)
105 evas_3d_light_directional_set(EINA_TRUE)); 105 evas_3d_light_directional_set(EINA_TRUE));
106 106
107 light_node = 107 light_node =
108 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 108 eo_add(EVAS_3D_NODE_CLASS, evas,
109 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 109 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
110 eo_do(light_node, 110 eo_do(light_node,
111 evas_3d_node_light_set(light), 111 evas_3d_node_light_set(light),
@@ -145,7 +145,7 @@ main(void)
145 1.0, 1.0, 1.0, 1.0), 145 1.0, 1.0, 1.0, 1.0),
146 evas_3d_material_shininess_set(50.0)); 146 evas_3d_material_shininess_set(50.0));
147 147
148 mesh_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 148 mesh_node = eo_add(EVAS_3D_NODE_CLASS, evas,
149 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 149 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
150 eo_do(root_node, 150 eo_do(root_node,
151 evas_3d_node_member_add(mesh_node)); 151 evas_3d_node_member_add(mesh_node));
diff --git a/src/examples/evas/evas-3d-moon-space.c b/src/examples/evas/evas-3d-moon-space.c
index 540d119ce3..fbaec2a019 100644
--- a/src/examples/evas/evas-3d-moon-space.c
+++ b/src/examples/evas/evas-3d-moon-space.c
@@ -383,7 +383,7 @@ _camera_setup(Scene_Data *data)
383 eo_do(data->camera, 383 eo_do(data->camera,
384 evas_3d_camera_projection_perspective_set(30.0, 1.0, 1.0, 100.0)); 384 evas_3d_camera_projection_perspective_set(30.0, 1.0, 1.0, 100.0));
385 385
386 data->camera_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 386 data->camera_node = eo_add(EVAS_3D_NODE_CLASS, evas,
387 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 387 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
388 eo_do(data->camera_node, 388 eo_do(data->camera_node,
389 evas_3d_node_camera_set(data->camera), 389 evas_3d_node_camera_set(data->camera),
@@ -403,7 +403,7 @@ _light_setup(Scene_Data *data)
403 evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 403 evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
404 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 404 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
405 405
406 data->light_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 406 data->light_node = eo_add(EVAS_3D_NODE_CLASS, evas,
407 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 407 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
408 eo_do(data->light_node, 408 eo_do(data->light_node,
409 evas_3d_node_light_set(data->light), 409 evas_3d_node_light_set(data->light),
@@ -428,11 +428,11 @@ _mesh_setup(Scene_Data *data)
428 data->texture_diffuse_planet = eo_add(EVAS_3D_TEXTURE_CLASS, evas); 428 data->texture_diffuse_planet = eo_add(EVAS_3D_TEXTURE_CLASS, evas);
429 data->texture_diffuse_moon = eo_add(EVAS_3D_TEXTURE_CLASS, evas); 429 data->texture_diffuse_moon = eo_add(EVAS_3D_TEXTURE_CLASS, evas);
430 430
431 data->mesh_node_planet = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 431 data->mesh_node_planet = eo_add(EVAS_3D_NODE_CLASS, evas,
432 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 432 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
433 data->mesh_node_cube = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 433 data->mesh_node_cube = eo_add(EVAS_3D_NODE_CLASS, evas,
434 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 434 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
435 data->mesh_node_moon = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 435 data->mesh_node_moon = eo_add(EVAS_3D_NODE_CLASS, evas,
436 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 436 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
437 437
438 /* Setup material for cube. */ 438 /* Setup material for cube. */
@@ -561,7 +561,7 @@ _scene_setup(Scene_Data *data)
561 data->scene = eo_add(EVAS_3D_SCENE_CLASS, evas); 561 data->scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
562 562
563 /* Add the root node for the scene. */ 563 /* Add the root node for the scene. */
564 data->root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 564 data->root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
565 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 565 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
566 566
567 eo_do(data->scene, 567 eo_do(data->scene,
diff --git a/src/examples/evas/evas-3d-obj.c b/src/examples/evas/evas-3d-obj.c
index 5651e2d67a..cab11f9c24 100644
--- a/src/examples/evas/evas-3d-obj.c
+++ b/src/examples/evas/evas-3d-obj.c
@@ -91,7 +91,7 @@ main(void)
91 scene = eo_add(EVAS_3D_SCENE_CLASS, evas); 91 scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
92 92
93 /* Add the root node for the scene. */ 93 /* Add the root node for the scene. */
94 root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 94 root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
95 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 95 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
96 96
97 /* Add the camera. */ 97 /* Add the camera. */
@@ -100,7 +100,7 @@ main(void)
100 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0)); 100 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0));
101 101
102 camera_node = 102 camera_node =
103 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 103 eo_add(EVAS_3D_NODE_CLASS, evas,
104 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 104 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
105 eo_do(camera_node, 105 eo_do(camera_node,
106 evas_3d_node_camera_set(camera)); 106 evas_3d_node_camera_set(camera));
@@ -119,7 +119,7 @@ main(void)
119 evas_3d_light_directional_set(EINA_TRUE)); 119 evas_3d_light_directional_set(EINA_TRUE));
120 120
121 light_node = 121 light_node =
122 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 122 eo_add(EVAS_3D_NODE_CLASS, evas,
123 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 123 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
124 eo_do(light_node, 124 eo_do(light_node,
125 evas_3d_node_light_set(light), 125 evas_3d_node_light_set(light),
@@ -161,7 +161,7 @@ main(void)
161 161
162 eo_do(mesh, evas_3d_mesh_save(EVAS_3D_MESH_FILE_TYPE_OBJ, "saved_man", NULL)); 162 eo_do(mesh, evas_3d_mesh_save(EVAS_3D_MESH_FILE_TYPE_OBJ, "saved_man", NULL));
163 163
164 mesh_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 164 mesh_node = eo_add(EVAS_3D_NODE_CLASS, evas,
165 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 165 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
166 eo_do(root_node, 166 eo_do(root_node,
167 evas_3d_node_member_add(mesh_node)); 167 evas_3d_node_member_add(mesh_node));
diff --git a/src/examples/evas/evas-3d-pick.c b/src/examples/evas/evas-3d-pick.c
index 143094d538..321183ab63 100644
--- a/src/examples/evas/evas-3d-pick.c
+++ b/src/examples/evas/evas-3d-pick.c
@@ -294,7 +294,7 @@ main(void)
294 scene = eo_add(EVAS_3D_SCENE_CLASS, evas); 294 scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
295 295
296 /* Add the root node for the scene. */ 296 /* Add the root node for the scene. */
297 root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 297 root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
298 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 298 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
299 299
300 /* Add the camera. */ 300 /* Add the camera. */
@@ -303,7 +303,7 @@ main(void)
303 evas_3d_camera_projection_perspective_set(30.0, 1.0, 1.0, 100.0)); 303 evas_3d_camera_projection_perspective_set(30.0, 1.0, 1.0, 100.0));
304 304
305 camera_node = 305 camera_node =
306 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 306 eo_add(EVAS_3D_NODE_CLASS, evas,
307 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 307 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
308 eo_do(camera_node, 308 eo_do(camera_node,
309 evas_3d_node_camera_set(camera), 309 evas_3d_node_camera_set(camera),
@@ -361,7 +361,7 @@ main(void)
361 1.0), 361 1.0),
362 evas_3d_material_shininess_set(50.0)); 362 evas_3d_material_shininess_set(50.0));
363 363
364 mesh_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 364 mesh_node = eo_add(EVAS_3D_NODE_CLASS, evas,
365 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 365 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
366 366
367 eo_do(root_node, evas_3d_node_member_add(mesh_node)); 367 eo_do(root_node, evas_3d_node_member_add(mesh_node));
diff --git a/src/examples/evas/evas-3d-proxy.c b/src/examples/evas/evas-3d-proxy.c
index ab9e6d6eb9..06f8abb127 100644
--- a/src/examples/evas/evas-3d-proxy.c
+++ b/src/examples/evas/evas-3d-proxy.c
@@ -154,7 +154,7 @@ _camera_setup(Scene_Data *data)
154 evas_3d_camera_projection_perspective_set(30.0, 1.0, 2.0, 50.0)); 154 evas_3d_camera_projection_perspective_set(30.0, 1.0, 2.0, 50.0));
155 155
156 data->camera_node = 156 data->camera_node =
157 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 157 eo_add(EVAS_3D_NODE_CLASS, evas,
158 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 158 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
159 eo_do(data->camera_node, 159 eo_do(data->camera_node,
160 evas_3d_node_camera_set(data->camera), 160 evas_3d_node_camera_set(data->camera),
@@ -175,7 +175,7 @@ _light_setup(Scene_Data *data)
175 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 175 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
176 176
177 data->light_node = 177 data->light_node =
178 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 178 eo_add(EVAS_3D_NODE_CLASS, evas,
179 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 179 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
180 eo_do(data->light_node, 180 eo_do(data->light_node,
181 evas_3d_node_light_set(data->light), 181 evas_3d_node_light_set(data->light),
@@ -232,7 +232,7 @@ _mesh_setup(Scene_Data *data)
232 evas_3d_mesh_frame_material_set(0, data->material)); 232 evas_3d_mesh_frame_material_set(0, data->material));
233 233
234 data->mesh_node = 234 data->mesh_node =
235 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 235 eo_add(EVAS_3D_NODE_CLASS, evas,
236 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 236 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
237 237
238 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node)); 238 eo_do(data->root_node, evas_3d_node_member_add(data->mesh_node));
@@ -248,7 +248,7 @@ _scene_setup(Scene_Data *data)
248 evas_3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0)); 248 evas_3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
249 249
250 data->root_node = 250 data->root_node =
251 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 251 eo_add(EVAS_3D_NODE_CLASS, evas,
252 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 252 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
253 253
254 _camera_setup(data); 254 _camera_setup(data);
diff --git a/src/examples/evas/evas-3d-shadows.c b/src/examples/evas/evas-3d-shadows.c
index 8bb32da083..88683d56dd 100644
--- a/src/examples/evas/evas-3d-shadows.c
+++ b/src/examples/evas/evas-3d-shadows.c
@@ -176,7 +176,7 @@ main(void)
176 scene = eo_add(EVAS_3D_SCENE_CLASS, evas); 176 scene = eo_add(EVAS_3D_SCENE_CLASS, evas);
177 177
178 /* Add the root node for the scene. */ 178 /* Add the root node for the scene. */
179 root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 179 root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
180 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 180 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
181 181
182 /* Add the camera. */ 182 /* Add the camera. */
@@ -185,7 +185,7 @@ main(void)
185 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 1000.0)); 185 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 1000.0));
186 186
187 camera_node = 187 camera_node =
188 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 188 eo_add(EVAS_3D_NODE_CLASS, evas,
189 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 189 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
190 eo_do(camera_node, 190 eo_do(camera_node,
191 evas_3d_node_camera_set(camera)); 191 evas_3d_node_camera_set(camera));
@@ -204,7 +204,7 @@ main(void)
204 evas_3d_light_projection_perspective_set(45.0, 1.0, 2.0, 1000.0)); 204 evas_3d_light_projection_perspective_set(45.0, 1.0, 2.0, 1000.0));
205 205
206 light_node = 206 light_node =
207 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 207 eo_add(EVAS_3D_NODE_CLASS, evas,
208 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 208 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
209 eo_do(light_node, 209 eo_do(light_node,
210 evas_3d_node_light_set(light), 210 evas_3d_node_light_set(light),
@@ -246,7 +246,7 @@ main(void)
246 1.0, 1.0, 1.0, 1.0), 246 1.0, 1.0, 1.0, 1.0),
247 evas_3d_material_shininess_set(50.0)); 247 evas_3d_material_shininess_set(50.0));
248 248
249 mesh_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 249 mesh_node = eo_add(EVAS_3D_NODE_CLASS, evas,
250 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 250 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
251 eo_do(root_node, 251 eo_do(root_node,
252 evas_3d_node_member_add(mesh_node)); 252 evas_3d_node_member_add(mesh_node));
@@ -270,7 +270,7 @@ main(void)
270 270
271 271
272 mesh_node1 = 272 mesh_node1 =
273 eo_add_custom(EVAS_3D_NODE_CLASS, evas, 273 eo_add(EVAS_3D_NODE_CLASS, evas,
274 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 274 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
275 eo_do(root_node, evas_3d_node_member_add(mesh_node1)); 275 eo_do(root_node, evas_3d_node_member_add(mesh_node1));
276 eo_do(mesh_node1, evas_3d_node_mesh_add(mesh1)); 276 eo_do(mesh_node1, evas_3d_node_mesh_add(mesh1));
diff --git a/src/examples/evas/shooter/evas-3d-shooter-header.c b/src/examples/evas/shooter/evas-3d-shooter-header.c
index 6ed2224cca..28cf64b690 100644
--- a/src/examples/evas/shooter/evas-3d-shooter-header.c
+++ b/src/examples/evas/shooter/evas-3d-shooter-header.c
@@ -124,9 +124,9 @@ _camera_setup(Scene_Data *data)
124 eo_do(data->camera, 124 eo_do(data->camera,
125 evas_3d_camera_projection_perspective_set(65.0, 1.0, 1.0, 100.0)); 125 evas_3d_camera_projection_perspective_set(65.0, 1.0, 1.0, 100.0));
126 126
127 data->mediator_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 127 data->mediator_node = eo_add(EVAS_3D_NODE_CLASS, evas,
128 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 128 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
129 data->camera_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 129 data->camera_node = eo_add(EVAS_3D_NODE_CLASS, evas,
130 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA)); 130 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA));
131 131
132 eo_do(data->root_node, evas_3d_node_member_add(data->mediator_node)); 132 eo_do(data->root_node, evas_3d_node_member_add(data->mediator_node));
@@ -148,7 +148,7 @@ _light_setup(Scene_Data *data)
148 evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 148 evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
149 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 149 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
150 150
151 data->light_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 151 data->light_node = eo_add(EVAS_3D_NODE_CLASS, evas,
152 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT)); 152 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT));
153 eo_do(data->light_node, 153 eo_do(data->light_node,
154 evas_3d_node_light_set(data->light), 154 evas_3d_node_light_set(data->light),
diff --git a/src/examples/evas/shooter/evas-3d-shooter.c b/src/examples/evas/shooter/evas-3d-shooter.c
index f7a2fd2f67..b13aa11381 100644
--- a/src/examples/evas/shooter/evas-3d-shooter.c
+++ b/src/examples/evas/shooter/evas-3d-shooter.c
@@ -870,7 +870,7 @@ _mesh_setup_gun_planet(Scene_Data *data)
870 eo_do(data->mesh_eagle, 870 eo_do(data->mesh_eagle,
871 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE)); 871 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE));
872 872
873 data->mesh_node_eagle = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 873 data->mesh_node_eagle = eo_add(EVAS_3D_NODE_CLASS, evas,
874 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 874 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
875 875
876 eo_do(data->mesh_node_eagle, 876 eo_do(data->mesh_node_eagle,
@@ -904,7 +904,7 @@ _mesh_setup_gun_planet(Scene_Data *data)
904 evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT, index_count, &indices[0]), 904 evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT, index_count, &indices[0]),
905 evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES)); 905 evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES));
906 906
907 data->mesh_node_world = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 907 data->mesh_node_world = eo_add(EVAS_3D_NODE_CLASS, evas,
908 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 908 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
909 909
910 eo_do(data->root_node, 910 eo_do(data->root_node,
@@ -957,7 +957,7 @@ _mesh_setup_gun_planet(Scene_Data *data)
957 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG), 957 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
958 evas_3d_mesh_frame_material_set(0, data->gun)); 958 evas_3d_mesh_frame_material_set(0, data->gun));
959 959
960 data->mesh_node_gun = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 960 data->mesh_node_gun = eo_add(EVAS_3D_NODE_CLASS, evas,
961 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 961 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
962 962
963 eo_do(data->mediator_node, 963 eo_do(data->mediator_node,
@@ -1000,7 +1000,7 @@ _mesh_setup_gun_planet(Scene_Data *data)
1000 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG), 1000 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
1001 evas_3d_mesh_frame_material_set(0, data->material_gun_butt)); 1001 evas_3d_mesh_frame_material_set(0, data->material_gun_butt));
1002 1002
1003 data->mesh_node_gun_butt = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1003 data->mesh_node_gun_butt = eo_add(EVAS_3D_NODE_CLASS, evas,
1004 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1004 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1005 eo_do(data->mediator_node, 1005 eo_do(data->mediator_node,
1006 evas_3d_node_member_add(data->mesh_node_gun_butt)); 1006 evas_3d_node_member_add(data->mesh_node_gun_butt));
@@ -1040,7 +1040,7 @@ _mesh_setup_gun_planet(Scene_Data *data)
1040 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG), 1040 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
1041 evas_3d_mesh_frame_material_set(0, data->material_gun_cage)); 1041 evas_3d_mesh_frame_material_set(0, data->material_gun_cage));
1042 1042
1043 data->mesh_node_gun_cage = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1043 data->mesh_node_gun_cage = eo_add(EVAS_3D_NODE_CLASS, evas,
1044 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1044 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1045 eo_do(data->mediator_node, 1045 eo_do(data->mediator_node,
1046 evas_3d_node_member_add(data->mesh_node_gun_cage)); 1046 evas_3d_node_member_add(data->mesh_node_gun_cage));
@@ -1084,7 +1084,7 @@ _mesh_setup_gun_planet(Scene_Data *data)
1084 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG), 1084 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG),
1085 evas_3d_mesh_frame_material_set(0, data->rocket)); 1085 evas_3d_mesh_frame_material_set(0, data->rocket));
1086 1086
1087 data->mesh_node_rocket = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1087 data->mesh_node_rocket = eo_add(EVAS_3D_NODE_CLASS, evas,
1088 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1088 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1089 eo_do(data->mediator_node, 1089 eo_do(data->mediator_node,
1090 evas_3d_node_member_add(data->mesh_node_rocket)); 1090 evas_3d_node_member_add(data->mesh_node_rocket));
@@ -1111,7 +1111,7 @@ _mesh_setup_gun_planet(Scene_Data *data)
1111 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE), 1111 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE),
1112 evas_3d_mesh_frame_material_set(0, data->material_cube)); 1112 evas_3d_mesh_frame_material_set(0, data->material_cube));
1113 1113
1114 data->mesh_node_cube = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1114 data->mesh_node_cube = eo_add(EVAS_3D_NODE_CLASS, evas,
1115 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1115 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1116 eo_do(data->root_node, 1116 eo_do(data->root_node,
1117 evas_3d_node_member_add(data->mesh_node_cube)); 1117 evas_3d_node_member_add(data->mesh_node_cube));
@@ -1159,7 +1159,7 @@ _mesh_setup_grass(Scene_Data *data, int index)
1159 6, &grass_indices[0]), 1159 6, &grass_indices[0]),
1160 evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES)); 1160 evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES));
1161 1161
1162 data->mesh_node_grass[index] = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1162 data->mesh_node_grass[index] = eo_add(EVAS_3D_NODE_CLASS, evas,
1163 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1163 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1164 1164
1165 eo_do(data->root_node, 1165 eo_do(data->root_node,
@@ -1211,7 +1211,7 @@ _mesh_setup_gun_bling(Scene_Data *data, int index)
1211 evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT, index_count, &indices[0]), 1211 evas_3d_mesh_index_data_set(EVAS_3D_INDEX_FORMAT_UNSIGNED_SHORT, index_count, &indices[0]),
1212 evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES)); 1212 evas_3d_mesh_vertex_assembly_set(EVAS_3D_VERTEX_ASSEMBLY_TRIANGLES));
1213 1213
1214 data->mesh_node_gun_bling[index] = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1214 data->mesh_node_gun_bling[index] = eo_add(EVAS_3D_NODE_CLASS, evas,
1215 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1215 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1216 1216
1217 eo_do(data->mediator_node, 1217 eo_do(data->mediator_node,
@@ -1357,7 +1357,7 @@ _mesh_setup_snake(Scene_Data *data)
1357 eo_do(data->mesh_snake, 1357 eo_do(data->mesh_snake,
1358 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE)); 1358 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE));
1359 1359
1360 data->mesh_node_snake = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1360 data->mesh_node_snake = eo_add(EVAS_3D_NODE_CLASS, evas,
1361 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1361 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1362 1362
1363 eo_do(data->mesh_node_snake, 1363 eo_do(data->mesh_node_snake,
@@ -1381,7 +1381,7 @@ _scene_setup(Scene_Data *data)
1381 evas_3d_scene_size_set(WIDTH, HEIGHT), 1381 evas_3d_scene_size_set(WIDTH, HEIGHT),
1382 evas_3d_scene_background_color_set(0.5, 0.5, 0.5, 0.0)); 1382 evas_3d_scene_background_color_set(0.5, 0.5, 0.5, 0.0));
1383 1383
1384 data->root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1384 data->root_node = eo_add(EVAS_3D_NODE_CLASS, evas,
1385 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); 1385 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
1386 1386
1387 _camera_setup(data); 1387 _camera_setup(data);
@@ -1398,7 +1398,7 @@ _scene_setup(Scene_Data *data)
1398 _mesh_setup(data, bricks_vertices, 0); 1398 _mesh_setup(data, bricks_vertices, 0);
1399 _mesh_setup(data, wall_vertices, 1); 1399 _mesh_setup(data, wall_vertices, 1);
1400 1400
1401 data->mesh_node_level[0] = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1401 data->mesh_node_level[0] = eo_add(EVAS_3D_NODE_CLASS, evas,
1402 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1402 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1403 1403
1404 eo_do(data->root_node, 1404 eo_do(data->root_node,
@@ -1415,7 +1415,7 @@ _scene_setup(Scene_Data *data)
1415 Evas_Real bx, by, bz; 1415 Evas_Real bx, by, bz;
1416 for ( i = 1; i < 10; ++i) 1416 for ( i = 1; i < 10; ++i)
1417 { 1417 {
1418 data->mesh_node_level[i] = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1418 data->mesh_node_level[i] = eo_add(EVAS_3D_NODE_CLASS, evas,
1419 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1419 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1420 1420
1421 eo_do(data->mesh_node_level[i], 1421 eo_do(data->mesh_node_level[i],
@@ -1433,7 +1433,7 @@ _scene_setup(Scene_Data *data)
1433 } 1433 }
1434 _mesh_setup_warrior(data, 2); 1434 _mesh_setup_warrior(data, 2);
1435 1435
1436 data->mesh_node_level[10] = eo_add_custom(EVAS_3D_NODE_CLASS, evas, 1436 data->mesh_node_level[10] = eo_add(EVAS_3D_NODE_CLASS, evas,
1437 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH)); 1437 evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH));
1438 eo_do(data->mesh_node_level[10], 1438 eo_do(data->mesh_node_level[10],
1439 evas_3d_node_position_set(17, -10, 0), 1439 evas_3d_node_position_set(17, -10, 0),
diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index e85efe6f1e..7116538b7d 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -179,7 +179,6 @@ _ecore_animator_add(Ecore_Animator *obj,
179 } 179 }
180 180
181 animator->obj = obj; 181 animator->obj = obj;
182 eo_do_super(obj, MY_CLASS, eo_constructor());
183 eo_manual_free_set(obj, EINA_TRUE); 182 eo_manual_free_set(obj, EINA_TRUE);
184 183
185 if (!func) 184 if (!func)
@@ -197,20 +196,13 @@ _ecore_animator_add(Ecore_Animator *obj,
197 return EINA_TRUE; 196 return EINA_TRUE;
198} 197}
199 198
200EOLIAN static void
201_ecore_animator_eo_base_constructor(Eo *obj, Ecore_Animator_Data *_pd EINA_UNUSED)
202{
203 eo_error_set(obj);
204 ERR("only custom constructor can be used with '%s' class", MY_CLASS_NAME);
205}
206
207EAPI Ecore_Animator * 199EAPI Ecore_Animator *
208ecore_animator_add(Ecore_Task_Cb func, 200ecore_animator_add(Ecore_Task_Cb func,
209 const void *data) 201 const void *data)
210{ 202{
211 Ecore_Animator *animator = NULL; 203 Ecore_Animator *animator = NULL;
212 204
213 animator = eo_add_custom(MY_CLASS, _ecore_parent, 205 animator = eo_add(MY_CLASS, _ecore_parent,
214 ecore_animator_constructor(func, data)); 206 ecore_animator_constructor(func, data));
215 eo_unref(animator); 207 eo_unref(animator);
216 return animator; 208 return animator;
@@ -230,7 +222,7 @@ ecore_animator_timeline_add(double runtime,
230 const void *data) 222 const void *data)
231{ 223{
232 Ecore_Animator *animator; 224 Ecore_Animator *animator;
233 animator = eo_add_custom(MY_CLASS, _ecore_parent, 225 animator = eo_add(MY_CLASS, _ecore_parent,
234 ecore_animator_timeline_constructor(runtime, func, data)); 226 ecore_animator_timeline_constructor(runtime, func, data));
235 eo_unref(animator); 227 eo_unref(animator);
236 return animator; 228 return animator;
diff --git a/src/lib/ecore/ecore_animator.eo b/src/lib/ecore/ecore_animator.eo
index 81ed666ec1..0ba14c0813 100644
--- a/src/lib/ecore/ecore_animator.eo
+++ b/src/lib/ecore/ecore_animator.eo
@@ -21,7 +21,6 @@ class Ecore.Animator (Eo.Base)
21 } 21 }
22 } 22 }
23 implements { 23 implements {
24 Eo.Base.constructor;
25 Eo.Base.destructor; 24 Eo.Base.destructor;
26 Eo.Base.event_freeze; 25 Eo.Base.event_freeze;
27 Eo.Base.event_thaw; 26 Eo.Base.event_thaw;
diff --git a/src/lib/ecore/ecore_idle_enterer.c b/src/lib/ecore/ecore_idle_enterer.c
index 5be4f7abf3..f6d5b9997d 100644
--- a/src/lib/ecore/ecore_idle_enterer.c
+++ b/src/lib/ecore/ecore_idle_enterer.c
@@ -44,7 +44,6 @@ _ecore_idle_enterer_add(Ecore_Idle_Enterer *obj,
44 } 44 }
45 45
46 ie->obj = obj; 46 ie->obj = obj;
47 eo_do_super(obj, MY_CLASS, eo_constructor());
48 eo_manual_free_set(obj, EINA_TRUE); 47 eo_manual_free_set(obj, EINA_TRUE);
49 48
50 if (!func) 49 if (!func)
@@ -64,7 +63,7 @@ ecore_idle_enterer_add(Ecore_Task_Cb func,
64 const void *data) 63 const void *data)
65{ 64{
66 Ecore_Idle_Enterer *ie = NULL; 65 Ecore_Idle_Enterer *ie = NULL;
67 ie = eo_add_custom(MY_CLASS, _ecore_parent, ecore_idle_enterer_after_constructor(func, data)); 66 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_enterer_after_constructor(func, data));
68 eo_unref(ie); 67 eo_unref(ie);
69 return ie; 68 return ie;
70} 69}
@@ -86,7 +85,7 @@ ecore_idle_enterer_before_add(Ecore_Task_Cb func,
86 const void *data) 85 const void *data)
87{ 86{
88 Ecore_Idle_Enterer *ie = NULL; 87 Ecore_Idle_Enterer *ie = NULL;
89 ie = eo_add_custom(MY_CLASS, _ecore_parent, ecore_idle_enterer_before_constructor(func, data)); 88 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_enterer_before_constructor(func, data));
90 eo_unref(ie); 89 eo_unref(ie);
91 return ie; 90 return ie;
92} 91}
@@ -103,13 +102,6 @@ unlock:
103 _ecore_unlock(); 102 _ecore_unlock();
104} 103}
105 104
106EOLIAN static void
107_ecore_idle_enterer_eo_base_constructor(Eo *obj, Ecore_Idle_Enterer_Data *_pd EINA_UNUSED)
108{
109 eo_error_set(obj);
110 ERR("only custom constructor can be used with '%s' class", MY_CLASS_NAME);
111}
112
113EAPI void * 105EAPI void *
114ecore_idle_enterer_del(Ecore_Idle_Enterer *idle_enterer) 106ecore_idle_enterer_del(Ecore_Idle_Enterer *idle_enterer)
115{ 107{
diff --git a/src/lib/ecore/ecore_idle_enterer.eo b/src/lib/ecore/ecore_idle_enterer.eo
index f28ca7eba2..4a85b7747f 100644
--- a/src/lib/ecore/ecore_idle_enterer.eo
+++ b/src/lib/ecore/ecore_idle_enterer.eo
@@ -20,7 +20,6 @@ class Ecore.Idle.Enterer (Eo.Base)
20 } 20 }
21 } 21 }
22 implements { 22 implements {
23 Eo.Base.constructor;
24 Eo.Base.destructor; 23 Eo.Base.destructor;
25 } 24 }
26 constructors { 25 constructors {
diff --git a/src/lib/ecore/ecore_idle_exiter.c b/src/lib/ecore/ecore_idle_exiter.c
index 0c53ccbbd6..51c7d357e4 100644
--- a/src/lib/ecore/ecore_idle_exiter.c
+++ b/src/lib/ecore/ecore_idle_exiter.c
@@ -37,7 +37,7 @@ ecore_idle_exiter_add(Ecore_Task_Cb func,
37 const void *data) 37 const void *data)
38{ 38{
39 Ecore_Idle_Exiter *ie = NULL; 39 Ecore_Idle_Exiter *ie = NULL;
40 ie = eo_add_custom(MY_CLASS, _ecore_parent, ecore_idle_exiter_constructor(func, data)); 40 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idle_exiter_constructor(func, data));
41 eo_unref(ie); 41 eo_unref(ie);
42 return ie; 42 return ie;
43} 43}
@@ -54,7 +54,6 @@ _ecore_idle_exiter_constructor(Eo *obj, Ecore_Idle_Exiter_Data *ie, Ecore_Task_C
54 54
55 55
56 ie->obj = obj; 56 ie->obj = obj;
57 eo_do_super(obj, MY_CLASS, eo_constructor());
58 eo_manual_free_set(obj, EINA_TRUE); 57 eo_manual_free_set(obj, EINA_TRUE);
59 58
60 if (!func) 59 if (!func)
@@ -71,13 +70,6 @@ _ecore_idle_exiter_constructor(Eo *obj, Ecore_Idle_Exiter_Data *ie, Ecore_Task_C
71 _ecore_unlock(); 70 _ecore_unlock();
72} 71}
73 72
74EOLIAN static void
75_ecore_idle_exiter_eo_base_constructor(Eo *obj, Ecore_Idle_Exiter_Data *_pd EINA_UNUSED)
76{
77 eo_error_set(obj);
78 ERR("only custom constructor can be used with '%s' class", MY_CLASS_NAME);
79}
80
81EAPI void * 73EAPI void *
82ecore_idle_exiter_del(Ecore_Idle_Exiter *idle_exiter) 74ecore_idle_exiter_del(Ecore_Idle_Exiter *idle_exiter)
83{ 75{
diff --git a/src/lib/ecore/ecore_idle_exiter.eo b/src/lib/ecore/ecore_idle_exiter.eo
index 22602ccaef..89104a1973 100644
--- a/src/lib/ecore/ecore_idle_exiter.eo
+++ b/src/lib/ecore/ecore_idle_exiter.eo
@@ -12,7 +12,6 @@ class Ecore.Idle.Exiter (Eo.Base)
12 } 12 }
13 } 13 }
14 implements { 14 implements {
15 Eo.Base.constructor;
16 Eo.Base.destructor; 15 Eo.Base.destructor;
17 } 16 }
18 constructors { 17 constructors {
diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c
index 15b8cdcffc..0ac1bc6e72 100644
--- a/src/lib/ecore/ecore_idler.c
+++ b/src/lib/ecore/ecore_idler.c
@@ -39,7 +39,7 @@ ecore_idler_add(Ecore_Task_Cb func,
39 39
40 _ecore_lock(); 40 _ecore_lock();
41 41
42 ie = eo_add_custom(MY_CLASS, _ecore_parent, ecore_idler_constructor(func, data)); 42 ie = eo_add(MY_CLASS, _ecore_parent, ecore_idler_constructor(func, data));
43 eo_unref(ie); 43 eo_unref(ie);
44 44
45 _ecore_unlock(); 45 _ecore_unlock();
@@ -56,7 +56,6 @@ _ecore_idler_constructor(Eo *obj, Ecore_Idler_Data *ie, Ecore_Task_Cb func, cons
56 } 56 }
57 57
58 ie->obj = obj; 58 ie->obj = obj;
59 eo_do_super(obj, MY_CLASS, eo_constructor());
60 eo_manual_free_set(obj, EINA_TRUE); 59 eo_manual_free_set(obj, EINA_TRUE);
61 60
62 if (!func) 61 if (!func)
@@ -71,13 +70,6 @@ _ecore_idler_constructor(Eo *obj, Ecore_Idler_Data *ie, Ecore_Task_Cb func, cons
71 idlers = (Ecore_Idler_Data *)eina_inlist_append(EINA_INLIST_GET(idlers), EINA_INLIST_GET(ie)); 70 idlers = (Ecore_Idler_Data *)eina_inlist_append(EINA_INLIST_GET(idlers), EINA_INLIST_GET(ie));
72} 71}
73 72
74EOLIAN static void
75_ecore_idler_eo_base_constructor(Eo *obj, Ecore_Idler_Data *_pd EINA_UNUSED)
76{
77 eo_error_set(obj);
78 ERR("only custom constructor can be used with '%s' class", MY_CLASS_NAME);
79}
80
81EAPI void * 73EAPI void *
82ecore_idler_del(Ecore_Idler *idler) 74ecore_idler_del(Ecore_Idler *idler)
83{ 75{
diff --git a/src/lib/ecore/ecore_idler.eo b/src/lib/ecore/ecore_idler.eo
index db6927742e..05d28e3505 100644
--- a/src/lib/ecore/ecore_idler.eo
+++ b/src/lib/ecore/ecore_idler.eo
@@ -12,7 +12,6 @@ class Ecore.Idler (Eo.Base)
12 } 12 }
13 } 13 }
14 implements { 14 implements {
15 Eo.Base.constructor;
16 Eo.Base.destructor; 15 Eo.Base.destructor;
17 } 16 }
18 constructors { 17 constructors {
diff --git a/src/lib/ecore/ecore_job.c b/src/lib/ecore/ecore_job.c
index 93f1d0bd98..ef2b9c0660 100644
--- a/src/lib/ecore/ecore_job.c
+++ b/src/lib/ecore/ecore_job.c
@@ -49,7 +49,7 @@ EAPI Ecore_Job *
49ecore_job_add(Ecore_Cb func, 49ecore_job_add(Ecore_Cb func,
50 const void *data) 50 const void *data)
51{ 51{
52 Ecore_Job *job = eo_add_custom(MY_CLASS, _ecore_parent, ecore_job_constructor(func, data)); 52 Ecore_Job *job = eo_add(MY_CLASS, _ecore_parent, ecore_job_constructor(func, data));
53 eo_unref(job); 53 eo_unref(job);
54 return job; 54 return job;
55} 55}
@@ -62,7 +62,6 @@ _ecore_job_constructor(Eo *obj, Ecore_Job_Data *job, Ecore_Cb func, const void *
62 eo_error_set(obj); 62 eo_error_set(obj);
63 EINA_MAIN_LOOP_CHECK_RETURN; 63 EINA_MAIN_LOOP_CHECK_RETURN;
64 } 64 }
65 eo_do_super(obj, MY_CLASS, eo_constructor());
66 eo_manual_free_set(obj, EINA_TRUE); 65 eo_manual_free_set(obj, EINA_TRUE);
67 66
68 if (!func) 67 if (!func)
@@ -83,13 +82,6 @@ _ecore_job_constructor(Eo *obj, Ecore_Job_Data *job, Ecore_Cb func, const void *
83 job->data = (void *)data; 82 job->data = (void *)data;
84} 83}
85 84
86EOLIAN static void
87_ecore_job_eo_base_constructor(Eo *obj, Ecore_Job_Data *_pd EINA_UNUSED)
88{
89 eo_error_set(obj);
90 ERR("only custom constructor can be used with '%s' class", MY_CLASS_NAME);
91}
92
93EAPI void * 85EAPI void *
94ecore_job_del(Ecore_Job *obj) 86ecore_job_del(Ecore_Job *obj)
95{ 87{
diff --git a/src/lib/ecore/ecore_job.eo b/src/lib/ecore/ecore_job.eo
index 2bc9d68b5c..86e8cb87b7 100644
--- a/src/lib/ecore/ecore_job.eo
+++ b/src/lib/ecore/ecore_job.eo
@@ -12,7 +12,6 @@ class Ecore.Job (Eo.Base)
12 } 12 }
13 } 13 }
14 implements { 14 implements {
15 Eo.Base.constructor;
16 Eo.Base.destructor; 15 Eo.Base.destructor;
17 } 16 }
18 constructors { 17 constructors {
diff --git a/src/lib/ecore/ecore_poller.c b/src/lib/ecore/ecore_poller.c
index fc544e1fd8..e7fca873db 100644
--- a/src/lib/ecore/ecore_poller.c
+++ b/src/lib/ecore/ecore_poller.c
@@ -230,13 +230,6 @@ ecore_poller_poll_interval_get(Ecore_Poller_Type type EINA_UNUSED)
230 return poll_interval; 230 return poll_interval;
231} 231}
232 232
233EOLIAN static void
234_ecore_poller_eo_base_constructor(Eo *obj, Ecore_Poller_Data *_pd EINA_UNUSED)
235{
236 eo_error_set(obj);
237 ERR("only custom constructor can be used with '%s' class", MY_CLASS_NAME);
238}
239
240EAPI Ecore_Poller * 233EAPI Ecore_Poller *
241ecore_poller_add(Ecore_Poller_Type type EINA_UNUSED, 234ecore_poller_add(Ecore_Poller_Type type EINA_UNUSED,
242 int interval, 235 int interval,
@@ -244,7 +237,7 @@ ecore_poller_add(Ecore_Poller_Type type EINA_UNUSED,
244 const void *data) 237 const void *data)
245{ 238{
246 Ecore_Poller *poller; 239 Ecore_Poller *poller;
247 poller = eo_add_custom(MY_CLASS, _ecore_parent, 240 poller = eo_add(MY_CLASS, _ecore_parent,
248 ecore_poller_constructor(type, interval, func, data)); 241 ecore_poller_constructor(type, interval, func, data));
249 eo_unref(poller); 242 eo_unref(poller);
250 return poller; 243 return poller;
@@ -263,7 +256,6 @@ _ecore_poller_constructor(Eo *obj, Ecore_Poller_Data *poller, Ecore_Poller_Type
263 EINA_MAIN_LOOP_CHECK_RETURN; 256 EINA_MAIN_LOOP_CHECK_RETURN;
264 } 257 }
265 258
266 eo_do_super(obj, MY_CLASS, eo_constructor());
267 eo_manual_free_set(obj, EINA_TRUE); 259 eo_manual_free_set(obj, EINA_TRUE);
268 260
269 if (!func) 261 if (!func)
diff --git a/src/lib/ecore/ecore_poller.eo b/src/lib/ecore/ecore_poller.eo
index c08a6055fd..696ca584c5 100644
--- a/src/lib/ecore/ecore_poller.eo
+++ b/src/lib/ecore/ecore_poller.eo
@@ -38,7 +38,6 @@ class Ecore.Poller (Eo.Base)
38 } 38 }
39 } 39 }
40 implements { 40 implements {
41 Eo.Base.constructor;
42 Eo.Base.destructor; 41 Eo.Base.destructor;
43 } 42 }
44 constructors { 43 constructors {
diff --git a/src/lib/ecore/ecore_timer.c b/src/lib/ecore/ecore_timer.c
index ff8e8b7e34..e2cb43b686 100644
--- a/src/lib/ecore/ecore_timer.c
+++ b/src/lib/ecore/ecore_timer.c
@@ -97,7 +97,7 @@ ecore_timer_add(double in,
97 Ecore_Timer *timer = NULL; 97 Ecore_Timer *timer = NULL;
98 98
99 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL); 99 EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
100 timer = eo_add_custom(MY_CLASS, _ecore_parent, ecore_obj_timer_constructor(in, func, data)); 100 timer = eo_add(MY_CLASS, _ecore_parent, ecore_obj_timer_constructor(in, func, data));
101 eo_unref(timer); 101 eo_unref(timer);
102 return timer; 102 return timer;
103} 103}
@@ -118,7 +118,6 @@ _ecore_timer_add(Ecore_Timer *obj,
118 } 118 }
119 119
120 timer->obj = obj; 120 timer->obj = obj;
121 eo_do_super(obj, MY_CLASS, eo_constructor());
122 eo_manual_free_set(obj, EINA_TRUE); 121 eo_manual_free_set(obj, EINA_TRUE);
123 122
124 if (!func) 123 if (!func)
@@ -160,13 +159,6 @@ _ecore_timer_loop_constructor(Eo *obj, Ecore_Timer_Data *timer, double in, Ecore
160 _ecore_timer_add(obj, timer, now, in, func, data); 159 _ecore_timer_add(obj, timer, now, in, func, data);
161} 160}
162 161
163EOLIAN static void
164_ecore_timer_eo_base_constructor(Eo *obj, Ecore_Timer_Data *_pd EINA_UNUSED)
165{
166 eo_error_set(obj);
167 ERR("only custom constructor can be used with '%s' class", MY_CLASS_NAME);
168}
169
170EAPI Ecore_Timer * 162EAPI Ecore_Timer *
171ecore_timer_loop_add(double in, 163ecore_timer_loop_add(double in,
172 Ecore_Task_Cb func, 164 Ecore_Task_Cb func,
@@ -407,7 +399,7 @@ _ecore_timer_loop_add(double in,
407 const void *data) 399 const void *data)
408{ 400{
409 Ecore_Timer *timer = NULL; 401 Ecore_Timer *timer = NULL;
410 timer = eo_add_custom(MY_CLASS, _ecore_parent, ecore_obj_timer_loop_constructor(in, func, data)); 402 timer = eo_add(MY_CLASS, _ecore_parent, ecore_obj_timer_loop_constructor(in, func, data));
411 eo_unref(timer); 403 eo_unref(timer);
412 404
413 return timer; 405 return timer;
diff --git a/src/lib/ecore/ecore_timer.eo b/src/lib/ecore/ecore_timer.eo
index 165487a4ca..f1c04039e5 100644
--- a/src/lib/ecore/ecore_timer.eo
+++ b/src/lib/ecore/ecore_timer.eo
@@ -68,7 +68,6 @@ class Ecore.Timer (Eo.Base)
68 } 68 }
69 } 69 }
70 implements { 70 implements {
71 Eo.Base.constructor;
72 Eo.Base.destructor; 71 Eo.Base.destructor;
73 Eo.Base.event_freeze; 72 Eo.Base.event_freeze;
74 /* XXX: can't document overriden methods 73 /* XXX: can't document overriden methods
diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index bf64f2a435..561665bb7b 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -625,8 +625,6 @@ EAPI void eo_error_set_internal(const Eo *obj, const char *file, int line);
625 * @param parent the parent to set to the object. 625 * @param parent the parent to set to the object.
626 * @param ... The ops to run. 626 * @param ... The ops to run.
627 * @return An handle to the new object on success, NULL otherwise. 627 * @return An handle to the new object on success, NULL otherwise.
628 *
629 * @see #eo_add_custom
630 */ 628 */
631#define eo_add(klass, parent, ...) \ 629#define eo_add(klass, parent, ...) \
632 ({ \ 630 ({ \
@@ -640,27 +638,6 @@ EAPI void eo_error_set_internal(const Eo *obj, const char *file, int line);
640 _tmp_obj; \ 638 _tmp_obj; \
641 }) 639 })
642 640
643/**
644 * @def eo_add_custom
645 * @brief Create a new object with a custom constructor.
646 * @param klass the class of the object to create.
647 * @param parent the parent to set to the object.
648 * @param ... The ops to run. With the constructor being first.
649 * @return An handle to the new object on success, NULL otherwise.
650 *
651 * @see #eo_add
652 */
653#define eo_add_custom(klass, parent, ...) \
654 ({ \
655 const Eo_Class *_tmp_klass = klass; \
656 Eo *_tmp_obj = _eo_add_internal_start(__FILE__, __LINE__, _tmp_klass, parent); \
657 eo_do(_tmp_obj, \
658 __VA_ARGS__; \
659 _tmp_obj = eo_finalize(); \
660 ); \
661 _tmp_obj; \
662 })
663
664EAPI Eo * _eo_add_internal_start(const char *file, int line, const Eo_Class *klass_id, Eo *parent); 641EAPI Eo * _eo_add_internal_start(const char *file, int line, const Eo_Class *klass_id, Eo *parent);
665 642
666/** 643/**
diff --git a/src/lib/evas/canvas/evas_3d_node.c b/src/lib/evas/canvas/evas_3d_node.c
index 2f31d2d7f4..25c01a72b8 100644
--- a/src/lib/evas/canvas/evas_3d_node.c
+++ b/src/lib/evas/canvas/evas_3d_node.c
@@ -775,7 +775,7 @@ evas_3d_node_add(Evas *e, Evas_3D_Node_Type type)
775 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 775 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
776 return NULL; 776 return NULL;
777 MAGIC_CHECK_END(); 777 MAGIC_CHECK_END();
778 Evas_Object *eo_obj = eo_add_custom(MY_CLASS, e, evas_3d_node_constructor(type)); 778 Evas_Object *eo_obj = eo_add(MY_CLASS, e, evas_3d_node_constructor(type));
779 eo_unref(eo_obj); 779 eo_unref(eo_obj);
780 return eo_obj; 780 return eo_obj;
781} 781}
@@ -783,8 +783,6 @@ evas_3d_node_add(Evas *e, Evas_3D_Node_Type type)
783EOLIAN static void 783EOLIAN static void
784_evas_3d_node_constructor(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Node_Type type) 784_evas_3d_node_constructor(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Node_Type type)
785{ 785{
786 eo_do_super(obj, MY_CLASS, eo_constructor());
787
788 eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_NODE)); 786 eo_do(obj, evas_3d_object_type_set(EVAS_3D_OBJECT_TYPE_NODE));
789 787
790 evas_vec3_set(&pd->position, 0.0, 0.0, 0.0); 788 evas_vec3_set(&pd->position, 0.0, 0.0, 0.0);
@@ -816,13 +814,6 @@ _evas_3d_node_constructor(Eo *obj, Evas_3D_Node_Data *pd, Evas_3D_Node_Type type
816} 814}
817 815
818EOLIAN static void 816EOLIAN static void
819_evas_3d_node_eo_base_constructor(Eo *obj, Evas_3D_Node_Data *pd EINA_UNUSED)
820{
821 eo_error_set(obj);
822 ERR("only custom constructor can be used with '%s' class", MY_CLASS_NAME);
823}
824
825EOLIAN static void
826_evas_3d_node_eo_base_destructor(Eo *obj, Evas_3D_Node_Data *pd EINA_UNUSED) 817_evas_3d_node_eo_base_destructor(Eo *obj, Evas_3D_Node_Data *pd EINA_UNUSED)
827{ 818{
828 eo_unref(obj); 819 eo_unref(obj);
diff --git a/src/lib/evas/canvas/evas_3d_node.eo b/src/lib/evas/canvas/evas_3d_node.eo
index b78079b09a..60b9d9e3b1 100644
--- a/src/lib/evas/canvas/evas_3d_node.eo
+++ b/src/lib/evas/canvas/evas_3d_node.eo
@@ -577,7 +577,6 @@ class Evas_3D_Node (Evas_3D_Object, Evas.Common_Interface)
577 } 577 }
578 } 578 }
579 implements { 579 implements {
580 Eo.Base.constructor;
581 Eo.Base.destructor; 580 Eo.Base.destructor;
582 Evas_3D_Object.update_notify; 581 Evas_3D_Object.update_notify;
583 Evas_3D_Object.change_notify; 582 Evas_3D_Object.change_notify;
diff --git a/src/tests/ecore/ecore_test_animator.c b/src/tests/ecore/ecore_test_animator.c
index 852e8b58d7..ed7f4ee886 100644
--- a/src/tests/ecore/ecore_test_animator.c
+++ b/src/tests/ecore/ecore_test_animator.c
@@ -29,7 +29,7 @@ START_TEST(ecore_test_animators)
29 fail_if(!ecore_init(), "ERROR: Cannot init Ecore!\n"); 29 fail_if(!ecore_init(), "ERROR: Cannot init Ecore!\n");
30 30
31 ecore_animator_frametime_set(interval1); 31 ecore_animator_frametime_set(interval1);
32 animator = eo_add_custom(ECORE_ANIMATOR_CLASS, NULL, ecore_animator_timeline_constructor(1, _anim_cb, &interval1)); 32 animator = eo_add(ECORE_ANIMATOR_CLASS, NULL, ecore_animator_timeline_constructor(1, _anim_cb, &interval1));
33 33
34 fail_if(!animator); 34 fail_if(!animator);
35 35
@@ -37,7 +37,7 @@ START_TEST(ecore_test_animators)
37 37
38 ecore_animator_frametime_set(interval2); 38 ecore_animator_frametime_set(interval2);
39 prev = 0; 39 prev = 0;
40 animator = eo_add_custom(ECORE_ANIMATOR_CLASS, NULL, ecore_animator_timeline_constructor(1, _anim_cb, &interval2)); 40 animator = eo_add(ECORE_ANIMATOR_CLASS, NULL, ecore_animator_timeline_constructor(1, _anim_cb, &interval2));
41 fail_if(!animator); 41 fail_if(!animator);
42 42
43 ecore_main_loop_begin(); 43 ecore_main_loop_begin();
diff --git a/src/tests/eo/suite/eo_test_general.c b/src/tests/eo/suite/eo_test_general.c
index 9830d6fd17..114d2443a4 100644
--- a/src/tests/eo/suite/eo_test_general.c
+++ b/src/tests/eo/suite/eo_test_general.c
@@ -772,7 +772,7 @@ START_TEST(eo_add_do_and_custom)
772 Eo *obj = NULL; 772 Eo *obj = NULL;
773 eo_init(); 773 eo_init();
774 774
775 obj = eo_add_custom(SIMPLE_CLASS, NULL, eo_constructor()); 775 obj = eo_add(SIMPLE_CLASS, NULL, eo_constructor());
776 fail_if(!obj); 776 fail_if(!obj);
777 eo_unref(obj); 777 eo_unref(obj);
778 778
@@ -782,7 +782,7 @@ START_TEST(eo_add_do_and_custom)
782 fail_if(pd->a != 7); 782 fail_if(pd->a != 7);
783 eo_unref(obj); 783 eo_unref(obj);
784 784
785 obj = eo_add_custom(SIMPLE_CLASS, NULL, eo_constructor(), simple_a_set(7)); 785 obj = eo_add(SIMPLE_CLASS, NULL, eo_constructor(), simple_a_set(7));
786 fail_if(!obj); 786 fail_if(!obj);
787 pd = eo_data_scope_get(obj, SIMPLE_CLASS); 787 pd = eo_data_scope_get(obj, SIMPLE_CLASS);
788 fail_if(pd->a != 7); 788 fail_if(pd->a != 7);
diff --git a/src/tests/eo/suite/eo_test_threaded_calls.c b/src/tests/eo/suite/eo_test_threaded_calls.c
index ee7b70f526..e6f60e3738 100644
--- a/src/tests/eo/suite/eo_test_threaded_calls.c
+++ b/src/tests/eo/suite/eo_test_threaded_calls.c
@@ -49,12 +49,10 @@ _try_swap_stack(Eo *obj EINA_UNUSED, void *class_data)
49} 49}
50 50
51static void 51static void
52_constructor(Eo *obj, void *class_data EINA_UNUSED, int v) 52_constructor(Eo *obj EINA_UNUSED, void *class_data EINA_UNUSED, int v)
53{ 53{
54 Thread_Test_Public_Data *pd = class_data; 54 Thread_Test_Public_Data *pd = class_data;
55 55
56 eo_do_super(obj, THREAD_TEST_CLASS, eo_constructor());
57
58 pd->v = v; 56 pd->v = v;
59} 57}
60 58
@@ -87,7 +85,7 @@ _thread_job(void *data, Eina_Thread t EINA_UNUSED)
87 if (v == 1) 85 if (v == 1)
88 eina_spinlock_take(&locks[0]); 86 eina_spinlock_take(&locks[0]);
89 87
90 obj = eo_add_custom(THREAD_TEST_CLASS, NULL, thread_test_constructor(v)); 88 obj = eo_add(THREAD_TEST_CLASS, NULL, thread_test_constructor(v));
91 89
92 eo_do(obj, thread_test_try_swap_stack(), v = thread_test_v_get()); 90 eo_do(obj, thread_test_try_swap_stack(), v = thread_test_v_get());
93 91