summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/benchmarks/eo/class_simple.c2
-rw-r--r--src/benchmarks/eo/eo_bench_callbacks.c14
-rw-r--r--src/benchmarks/eo/eo_bench_eo_add.c6
-rw-r--r--src/benchmarks/eo/eo_bench_eo_do.c30
-rw-r--r--src/bin/eolian/eo_generator.c148
-rw-r--r--src/bin/eolian/impl_generator.c4
-rw-r--r--src/bin/eolian/legacy_generator.c21
-rw-r--r--src/bindings/eo_cxx/eo_inherit.hh2
-rw-r--r--src/examples/ecore/ecore_audio_custom.c6
-rw-r--r--src/examples/ecore/ecore_audio_playback.c6
-rw-r--r--src/examples/ecore/ecore_audio_to_ogg.c4
-rw-r--r--src/examples/eo/evas/evas_elw_box.c2
-rw-r--r--src/examples/eo/evas/evas_elw_boxedbutton.c5
-rw-r--r--src/examples/eo/evas/evas_elw_button.c6
-rw-r--r--src/examples/eo/evas/evas_elw_win.c2
-rw-r--r--src/examples/eo/evas/evas_evas_obj.c4
-rw-r--r--src/examples/eo/evas/evas_test.c9
-rw-r--r--src/examples/eo/isa/eo_isa_main.c6
-rw-r--r--src/examples/eolian_cxx/colourable.c2
-rw-r--r--src/examples/eolian_cxx/colourablesquare.c2
-rw-r--r--src/examples/eolian_cxx/colourablesquare_cxx.cc2
-rw-r--r--src/examples/evas/evas-3d-aabb.c32
-rw-r--r--src/examples/evas/evas-3d-blending.c31
-rw-r--r--src/examples/evas/evas-3d-colorpick.c24
-rw-r--r--src/examples/evas/evas-3d-cube-rotate.c20
-rw-r--r--src/examples/evas/evas-3d-cube.c24
-rw-r--r--src/examples/evas/evas-3d-cube2.c36
-rw-r--r--src/examples/evas/evas-3d-eet.c24
-rw-r--r--src/examples/evas/evas-3d-fog.c40
-rw-r--r--src/examples/evas/evas-3d-frustum.c33
-rw-r--r--src/examples/evas/evas-3d-md2.c26
-rw-r--r--src/examples/evas/evas-3d-mmap-set.c24
-rw-r--r--src/examples/evas/evas-3d-obj.c26
-rw-r--r--src/examples/evas/evas-3d-parallax-occlusion.c32
-rw-r--r--src/examples/evas/evas-3d-pick.c22
-rw-r--r--src/examples/evas/evas-3d-ply.c22
-rw-r--r--src/examples/evas/evas-3d-proxy.c32
-rw-r--r--src/examples/evas/evas-3d-shadows.c94
-rw-r--r--src/examples/evas/evas-object-manipulation-eo.c8
-rw-r--r--src/examples/evas/evas-vg-simple.c34
-rw-r--r--src/examples/evas/shooter/evas-3d-shooter-header.c10
-rw-r--r--src/examples/evas/shooter/evas-3d-shooter-macros.h12
-rw-r--r--src/examples/evas/shooter/evas-3d-shooter.c22
-rw-r--r--src/lib/ecore/ecore.c2
-rw-r--r--src/lib/ecore/ecore_anim.c20
-rw-r--r--src/lib/ecore/ecore_exe.c13
-rw-r--r--src/lib/ecore/ecore_exe_posix.c2
-rw-r--r--src/lib/ecore/ecore_idle_enterer.c12
-rw-r--r--src/lib/ecore/ecore_idle_exiter.c10
-rw-r--r--src/lib/ecore/ecore_idler.c10
-rw-r--r--src/lib/ecore/ecore_job.c11
-rw-r--r--src/lib/ecore/ecore_main.c2
-rw-r--r--src/lib/ecore/ecore_poller.c14
-rw-r--r--src/lib/ecore/ecore_timer.c24
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj.c2
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_in.c22
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c2
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_in_tone.c6
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out.c10
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out_core_audio.c8
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out_pulse.c46
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out_sndfile.c16
-rw-r--r--src/lib/ecore_con/ecore_con.c88
-rw-r--r--src/lib/ecore_con/ecore_con_eet.c38
-rw-r--r--src/lib/ecore_con/ecore_con_legacy.c4
-rw-r--r--src/lib/ecore_con/ecore_con_local_win32.c3
-rw-r--r--src/lib/ecore_con/ecore_con_url.c20
-rw-r--r--src/lib/ector/cairo/ector_cairo_private.h4
-rw-r--r--src/lib/ector/cairo/ector_cairo_surface.c16
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_base.c8
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c16
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c16
-rw-r--r--src/lib/ector/cairo/ector_renderer_cairo_shape.c33
-rw-r--r--src/lib/ector/ector_private.h2
-rw-r--r--src/lib/ector/ector_renderer_base.c4
-rw-r--r--src/lib/ector/software/ector_renderer_software_gradient_linear.c14
-rw-r--r--src/lib/ector/software/ector_renderer_software_gradient_radial.c15
-rw-r--r--src/lib/ector/software/ector_renderer_software_shape.c28
-rw-r--r--src/lib/ector/software/ector_software_surface.c16
-rw-r--r--src/lib/edje/edje_calc.c196
-rw-r--r--src/lib/edje/edje_callbacks.c8
-rw-r--r--src/lib/edje/edje_edit.c10
-rw-r--r--src/lib/edje/edje_load.c6
-rw-r--r--src/lib/edje/edje_multisense.c36
-rw-r--r--src/lib/edje/edje_program.c4
-rw-r--r--src/lib/edje/edje_smart.c26
-rw-r--r--src/lib/edje/edje_text.c88
-rw-r--r--src/lib/edje/edje_util.c4
-rw-r--r--src/lib/efl/interfaces/efl_gfx_shape.c92
-rw-r--r--src/lib/eio/eio_model.c28
-rw-r--r--src/lib/emotion/emotion_smart.c78
-rw-r--r--src/lib/eo/Eo.h264
-rw-r--r--src/lib/eo/eo.c102
-rw-r--r--src/lib/eo/eo_base_class.c28
-rw-r--r--src/lib/eo/eo_private.h109
-rw-r--r--src/lib/eo/eo_ptr_indirection.c2
-rw-r--r--src/lib/eo/eo_ptr_indirection.x41
-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
-rw-r--r--src/modules/ethumb/emotion/emotion.c14
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_preload.c6
-rw-r--r--src/modules/evas/engines/gl_generic/ector_surface.c6
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c18
-rw-r--r--src/modules/evas/engines/software_generic/ector_surface.c6
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c26
-rw-r--r--src/modules/evas/model_loaders/eet/evas_model_load_eet.c50
-rw-r--r--src/modules/evas/model_loaders/md2/evas_model_load_md2.c30
-rw-r--r--src/modules/evas/model_loaders/obj/evas_model_load_obj.c30
-rw-r--r--src/modules/evas/model_loaders/ply/evas_model_load_ply.c42
-rw-r--r--src/tests/ecore/ecore_test_animator.c4
-rw-r--r--src/tests/ecore/ecore_test_ecore_audio.c256
-rw-r--r--src/tests/edje/edje_test_edje.c18
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_accessor.cc26
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_ptrarray.cc78
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_ptrlist.cc22
-rw-r--r--src/tests/eio/eio_model_test_file.c26
-rw-r--r--src/tests/eio/eio_model_test_monitor_add.c26
-rw-r--r--src/tests/emotion/emotion_test_main-eo.c140
-rw-r--r--src/tests/eo/access/access_inherit.c2
-rw-r--r--src/tests/eo/access/access_inherit.h3
-rw-r--r--src/tests/eo/access/access_main.c5
-rw-r--r--src/tests/eo/access/access_simple.c4
-rw-r--r--src/tests/eo/access/access_simple.h3
-rw-r--r--src/tests/eo/children/children_main.c20
-rw-r--r--src/tests/eo/composite_objects/composite_objects_comp.c17
-rw-r--r--src/tests/eo/composite_objects/composite_objects_main.c37
-rw-r--r--src/tests/eo/composite_objects/composite_objects_simple.c134
-rw-r--r--src/tests/eo/composite_objects/composite_objects_simple.h132
-rw-r--r--src/tests/eo/constructors/constructors_main.c32
-rw-r--r--src/tests/eo/constructors/constructors_mixin.c10
-rw-r--r--src/tests/eo/constructors/constructors_mixin.h3
-rw-r--r--src/tests/eo/constructors/constructors_simple.c14
-rw-r--r--src/tests/eo/constructors/constructors_simple.h13
-rw-r--r--src/tests/eo/constructors/constructors_simple2.c2
-rw-r--r--src/tests/eo/constructors/constructors_simple6.c2
-rw-r--r--src/tests/eo/constructors/constructors_simple7.c2
-rw-r--r--src/tests/eo/function_overrides/function_overrides_inherit2.c16
-rw-r--r--src/tests/eo/function_overrides/function_overrides_inherit2.h6
-rw-r--r--src/tests/eo/function_overrides/function_overrides_inherit3.c2
-rw-r--r--src/tests/eo/function_overrides/function_overrides_main.c35
-rw-r--r--src/tests/eo/function_overrides/function_overrides_simple.c12
-rw-r--r--src/tests/eo/function_overrides/function_overrides_simple.h12
-rw-r--r--src/tests/eo/interface/interface_interface.c2
-rw-r--r--src/tests/eo/interface/interface_interface.h3
-rw-r--r--src/tests/eo/interface/interface_interface2.c2
-rw-r--r--src/tests/eo/interface/interface_interface2.h3
-rw-r--r--src/tests/eo/interface/interface_main.c13
-rw-r--r--src/tests/eo/interface/interface_simple.c17
-rw-r--r--src/tests/eo/interface/interface_simple.h13
-rw-r--r--src/tests/eo/mixin/mixin_inherit.c2
-rw-r--r--src/tests/eo/mixin/mixin_main.c13
-rw-r--r--src/tests/eo/mixin/mixin_mixin.c8
-rw-r--r--src/tests/eo/mixin/mixin_mixin.h3
-rw-r--r--src/tests/eo/mixin/mixin_mixin2.c8
-rw-r--r--src/tests/eo/mixin/mixin_mixin3.c8
-rw-r--r--src/tests/eo/mixin/mixin_simple.c4
-rw-r--r--src/tests/eo/mixin/mixin_simple.h12
-rw-r--r--src/tests/eo/signals/signals_main.c111
-rw-r--r--src/tests/eo/signals/signals_simple.c12
-rw-r--r--src/tests/eo/signals/signals_simple.h3
-rw-r--r--src/tests/eo/suite/eo_suite.c12
-rw-r--r--src/tests/eo/suite/eo_test_call_errors.c15
-rw-r--r--src/tests/eo/suite/eo_test_class_behaviour_errors.c8
-rw-r--r--src/tests/eo/suite/eo_test_class_simple.c114
-rw-r--r--src/tests/eo/suite/eo_test_class_simple.h16
-rw-r--r--src/tests/eo/suite/eo_test_general.c506
-rw-r--r--src/tests/eo/suite/eo_test_threaded_calls.c10
-rw-r--r--src/tests/eo/suite/eo_test_value.c5
-rw-r--r--src/tests/evas/evas_test_filters.c12
-rw-r--r--src/tests/evas/evas_test_mesh.c16
214 files changed, 3412 insertions, 2782 deletions
diff --git a/src/benchmarks/eo/class_simple.c b/src/benchmarks/eo/class_simple.c
index 0a57e285fa..a4482726c3 100644
--- a/src/benchmarks/eo/class_simple.c
+++ b/src/benchmarks/eo/class_simple.c
@@ -15,7 +15,7 @@ _other_call(Eo *obj EINA_UNUSED, void *class_data EINA_UNUSED, Eo *other, int ti
15{ 15{
16 if (times > 0) 16 if (times > 0)
17 { 17 {
18 eo_do(other, simple_other_call(obj, times-1)); 18 simple_other_call(other, obj, times-1);
19 } 19 }
20} 20}
21 21
diff --git a/src/benchmarks/eo/eo_bench_callbacks.c b/src/benchmarks/eo/eo_bench_callbacks.c
index fde611eea1..eac192572b 100644
--- a/src/benchmarks/eo/eo_bench_callbacks.c
+++ b/src/benchmarks/eo/eo_bench_callbacks.c
@@ -17,11 +17,12 @@ static void
17bench_eo_callbacks_add(int request) 17bench_eo_callbacks_add(int request)
18{ 18{
19 int i; 19 int i;
20 Eo *obj = eo_add(SIMPLE_CLASS, NULL); 20 Eo *obj;
21 eo_add(obj, SIMPLE_CLASS, NULL);
21 22
22 for (i = 0 ; i < request ; i++) 23 for (i = 0 ; i < request ; i++)
23 { 24 {
24 eo_do(obj, eo_event_callback_priority_add(SIMPLE_FOO, (short) i, _cb, NULL)); 25 eo_event_callback_priority_add(obj, SIMPLE_FOO, (short) i, _cb, NULL);
25 } 26 }
26 27
27 eo_unref(obj); 28 eo_unref(obj);
@@ -50,14 +51,15 @@ bench_eo_callbacks_call(int request)
50 51
51 const int len = EINA_C_ARRAY_LENGTH(distribution); 52 const int len = EINA_C_ARRAY_LENGTH(distribution);
52 int i, j; 53 int i, j;
53 Eo *obj[len] = { 0 }; 54 Eo *obj[len];
54 for (i = 0 ; i < len ; i++) 55 for (i = 0 ; i < len ; i++)
55 { 56 {
56 obj[i] = eo_add(SIMPLE_CLASS, NULL); 57 ///obj[i];
58 eo_add(obj[i], SIMPLE_CLASS, NULL);
57 59
58 for (j = 0 ; j < i ; j++) 60 for (j = 0 ; j < i ; j++)
59 { 61 {
60 eo_do(obj[i], eo_event_callback_priority_add(SIMPLE_FOO, (short) j, _cb, NULL)); 62 eo_event_callback_priority_add(obj[i], SIMPLE_FOO, (short) j, _cb, NULL);
61 } 63 }
62 } 64 }
63 65
@@ -66,7 +68,7 @@ bench_eo_callbacks_call(int request)
66 for (j = 0 ; j < (int) (distribution[i] * request) ; j++) 68 for (j = 0 ; j < (int) (distribution[i] * request) ; j++)
67 { 69 {
68 /* Miss finding the callbacks on purpose, so we measure worst case scenario. */ 70 /* Miss finding the callbacks on purpose, so we measure worst case scenario. */
69 eo_do(obj[i], eo_event_callback_call(SIMPLE_BAR, NULL)); 71 eo_event_callback_call(obj[i], SIMPLE_BAR, NULL);
70 } 72 }
71 } 73 }
72 74
diff --git a/src/benchmarks/eo/eo_bench_eo_add.c b/src/benchmarks/eo/eo_bench_eo_add.c
index 462f3b9c56..6f25ce9efd 100644
--- a/src/benchmarks/eo/eo_bench_eo_add.c
+++ b/src/benchmarks/eo/eo_bench_eo_add.c
@@ -12,7 +12,7 @@ bench_eo_add_linear(int request)
12 int i; 12 int i;
13 Eo **objs = calloc(request, sizeof(Eo *)); 13 Eo **objs = calloc(request, sizeof(Eo *));
14 for (i = 0 ; i < request ; i++) 14 for (i = 0 ; i < request ; i++)
15 objs[i] = eo_add(SIMPLE_CLASS, NULL); 15 eo_add(objs[i], SIMPLE_CLASS, NULL);
16 16
17 for (i = 0 ; i < request ; i++) 17 for (i = 0 ; i < request ; i++)
18 eo_unref(objs[i]); 18 eo_unref(objs[i]);
@@ -25,13 +25,13 @@ bench_eo_add_jump_by_2(int request)
25 int i; 25 int i;
26 Eo **objs = calloc(request, sizeof(Eo *)); 26 Eo **objs = calloc(request, sizeof(Eo *));
27 for (i = 0 ; i < request ; i++) 27 for (i = 0 ; i < request ; i++)
28 objs[i] = eo_add(SIMPLE_CLASS, NULL); 28 eo_add(objs[i], SIMPLE_CLASS, NULL);
29 29
30 for (i = 0 ; i < request ; i += 2) 30 for (i = 0 ; i < request ; i += 2)
31 eo_unref(objs[i]); 31 eo_unref(objs[i]);
32 32
33 for (i = 0 ; i < request ; i += 2) 33 for (i = 0 ; i < request ; i += 2)
34 objs[i] = eo_add(SIMPLE_CLASS, NULL); 34 eo_add(objs[i], SIMPLE_CLASS, NULL);
35 35
36 for (i = 0 ; i < request ; i++) 36 for (i = 0 ; i < request ; i++)
37 eo_unref(objs[i]); 37 eo_unref(objs[i]);
diff --git a/src/benchmarks/eo/eo_bench_eo_do.c b/src/benchmarks/eo/eo_bench_eo_do.c
index 2bcdc4246e..adb6851f32 100644
--- a/src/benchmarks/eo/eo_bench_eo_do.c
+++ b/src/benchmarks/eo/eo_bench_eo_do.c
@@ -10,10 +10,11 @@ static void
10bench_eo_do_simple(int request) 10bench_eo_do_simple(int request)
11{ 11{
12 int i; 12 int i;
13 Eo *obj = eo_add(SIMPLE_CLASS, NULL); 13 Eo *obj;
14 eo_add(obj, SIMPLE_CLASS, NULL);
14 for (i = 0 ; i < request ; i++) 15 for (i = 0 ; i < request ; i++)
15 { 16 {
16 eo_do(obj, simple_a_set(i)); 17 simple_a_set(obj, i);
17 } 18 }
18 19
19 eo_unref(obj); 20 eo_unref(obj);
@@ -23,12 +24,14 @@ static void
23bench_eo_do_two_objs(int request) 24bench_eo_do_two_objs(int request)
24{ 25{
25 int i; 26 int i;
26 Eo *obj = eo_add(SIMPLE_CLASS, NULL); 27 Eo *obj;
27 Eo *obj2 = eo_add(SIMPLE_CLASS, NULL); 28 eo_add(obj, SIMPLE_CLASS, NULL);
29 Eo *obj2;
30 eo_add(obj2, SIMPLE_CLASS, NULL);
28 for (i = 0 ; i < request ; i++) 31 for (i = 0 ; i < request ; i++)
29 { 32 {
30 eo_do(obj, simple_a_set(i)); 33 simple_a_set(obj, i);
31 eo_do(obj2, simple_a_set(i)); 34 simple_a_set(obj2, i);
32 } 35 }
33 36
34 eo_unref(obj); 37 eo_unref(obj);
@@ -39,11 +42,13 @@ static void
39bench_eo_do_two_objs_growing_stack(int request) 42bench_eo_do_two_objs_growing_stack(int request)
40{ 43{
41 int i; 44 int i;
42 Eo *obj = eo_add(SIMPLE_CLASS, NULL); 45 Eo *obj;
43 Eo *obj2 = eo_add(SIMPLE_CLASS, NULL); 46 eo_add(obj, SIMPLE_CLASS, NULL);
47 Eo *obj2;
48 eo_add(obj2, SIMPLE_CLASS, NULL);
44 for (i = 0 ; i < request ; i++) 49 for (i = 0 ; i < request ; i++)
45 { 50 {
46 eo_do(obj, simple_other_call(obj2, 20)); 51 simple_other_call(obj, obj2, 20);
47 } 52 }
48 53
49 eo_unref(obj); 54 eo_unref(obj);
@@ -55,7 +60,7 @@ static const Eo_Class *cur_klass;
55static void 60static void
56_a_set(Eo *obj, void *class_data EINA_UNUSED, int a) 61_a_set(Eo *obj, void *class_data EINA_UNUSED, int a)
57{ 62{
58 eo_do_super(obj, cur_klass, simple_a_set(a)); 63 eo_super_simple_a_set(cur_klass, obj, a);
59} 64}
60 65
61static Eo_Op_Description op_desc[] = { 66static Eo_Op_Description op_desc[] = {
@@ -78,10 +83,11 @@ bench_eo_do_super(int request)
78 cur_klass = eo_class_new(&class_desc, SIMPLE_CLASS, NULL); 83 cur_klass = eo_class_new(&class_desc, SIMPLE_CLASS, NULL);
79 84
80 int i; 85 int i;
81 Eo *obj = eo_add(cur_klass, NULL); 86 Eo *obj;
87 eo_add(obj, cur_klass, NULL);
82 for (i = 0 ; i < request ; i++) 88 for (i = 0 ; i < request ; i++)
83 { 89 {
84 eo_do(obj, simple_a_set(i)); 90 simple_a_set(obj, i);
85 } 91 }
86 92
87 eo_unref(obj); 93 eo_unref(obj);
diff --git a/src/bin/eolian/eo_generator.c b/src/bin/eolian/eo_generator.c
index 2e4f545391..3232ebb8c7 100644
--- a/src/bin/eolian/eo_generator.c
+++ b/src/bin/eolian/eo_generator.c
@@ -98,7 +98,23 @@ eo_fundef_generate(const Eolian_Class *class, const Eolian_Function *func, Eolia
98 eina_strbuf_append_char(str_func, '\n'); 98 eina_strbuf_append_char(str_func, '\n');
99 eina_strbuf_free(dbuf); 99 eina_strbuf_free(dbuf);
100 } 100 }
101 eina_strbuf_append_printf(str_func, "EOAPI @#rettype %s(@#full_params);\n", func_env.lower_eo_func); 101 Eina_Bool has_params = EINA_FALSE;
102
103 itr = eolian_property_keys_get(func, ftype);
104 has_params |= (eina_iterator_next(itr, &data));
105 eina_iterator_free(itr);
106
107 if (!has_params && !var_as_ret)
108 {
109 itr = is_prop ? eolian_property_values_get(func, ftype) : eolian_function_parameters_get(func);
110 has_params |= (eina_iterator_next(itr, &data));
111 eina_iterator_free(itr);
112 }
113
114 eina_strbuf_append_printf(str_func, "EOAPI @#rettype %s(Eo const* ___object%s@#full_params);\n", func_env.lower_eo_func
115 , has_params?", ":"");
116 eina_strbuf_append_printf(str_func, "EOAPI @#rettype eo_super_%s(Eo const* ___klass, Eo const* ___object%s@#full_params);\n", func_env.lower_eo_func
117 , has_params?", ":"");
102 118
103 if (scope == EOLIAN_SCOPE_PROTECTED) 119 if (scope == EOLIAN_SCOPE_PROTECTED)
104 eina_strbuf_append_printf(str_func, "#endif\n"); 120 eina_strbuf_append_printf(str_func, "#endif\n");
@@ -518,13 +534,13 @@ eo_bind_func_generate(const Eolian_Class *class, const Eolian_Function *funcid,
518 } 534 }
519 Eina_Bool ret_is_void = (!rettype || !strcmp(rettype, "void")); 535 Eina_Bool ret_is_void = (!rettype || !strcmp(rettype, "void"));
520 _class_func_env_create(class, eolian_function_name_get(funcid), ftype, &func_env); 536 _class_func_env_create(class, eolian_function_name_get(funcid), ftype, &func_env);
521 eina_strbuf_append_printf(eo_func_decl, 537 /* eina_strbuf_append_printf(eo_func_decl, */
522 "EOAPI EO_%sFUNC_BODY%s(%s", 538 /* "EOAPI EO_%sFUNC_BODY%s(%s", */
523 ret_is_void?"VOID_":"", has_params?"V":"", 539 /* ret_is_void?"VOID_":"", has_params?"V":"", */
524 func_env.lower_eo_func); 540 /* func_env.lower_eo_func); */
525 if (!ret_is_void) 541 const char *val_str = NULL;
542 if (!ret_is_void)
526 { 543 {
527 const char *val_str = NULL;
528 if (default_ret_val) 544 if (default_ret_val)
529 { 545 {
530 Eolian_Value val = eolian_expression_eval 546 Eolian_Value val = eolian_expression_eval
@@ -532,25 +548,109 @@ eo_bind_func_generate(const Eolian_Class *class, const Eolian_Function *funcid,
532 if (val.type) 548 if (val.type)
533 val_str = eolian_expression_value_to_literal(&val); 549 val_str = eolian_expression_value_to_literal(&val);
534 } 550 }
535 eina_strbuf_append_printf(eo_func_decl, ", %s, %s", 551
536 rettype, val_str?val_str:"0"); 552 /* eina_strbuf_append_printf(eo_func_decl, ", %s, %s", */
537 if (val_str && eolian_expression_type_get(default_ret_val) == EOLIAN_EXPR_NAME) 553 /* rettype, val_str?val_str:"0"); */
538 { 554 /* if (val_str && eolian_expression_type_get(default_ret_val) == EOLIAN_EXPR_NAME) */
539 Eina_Stringshare *string = eolian_expression_serialize(default_ret_val); 555 /* { */
540 eina_strbuf_append_printf(eo_func_decl, " /* %s */", string); 556 /* Eina_Stringshare *string = eolian_expression_serialize(default_ret_val); */
541 eina_stringshare_del(string); 557 /* eina_strbuf_append_printf(eo_func_decl, " /\* %s *\/", string); */
542 } 558 /* eina_stringshare_del(string); */
543 } 559 /* } */
544 if (has_params)
545 {
546 eina_strbuf_replace_all(full_params, " EINA_UNUSED", "");
547 eina_strbuf_append_printf(eo_func_decl, ", EO_FUNC_CALL(%s)%s",
548 eina_strbuf_string_get(params),
549 eina_strbuf_string_get(full_params));
550 } 560 }
551 eina_strbuf_append_printf(eo_func_decl, ");"); 561 /* if (has_params) */
562 /* { */
563 /* eina_strbuf_replace_all(full_params, " EINA_UNUSED", ""); */
564 /* eina_strbuf_append_printf(eo_func_decl, ", EO_FUNC_CALL(%s)%s", */
565 /* eina_strbuf_string_get(params), */
566 /* eina_strbuf_string_get(full_params)); */
567 /* } */
568 /* eina_strbuf_append_printf(eo_func_decl, ");"); */
569
570 eina_strbuf_append_printf(eo_func_decl,
571 "EOAPI %s %s(Eo const* _object%s);\n", ret_is_void?"void":rettype, func_env.lower_eo_func,
572 eina_strbuf_string_get(full_params));
573
574 eina_strbuf_append_printf(eo_func_decl,
575 "static %s _eo_impl_%s(_Eo_Class const* ___klass, Eo const* ___oid, _Eo_Object const* ___object%s)\n{\n"
576 , ret_is_void?"void":rettype, func_env.lower_eo_func,
577 eina_strbuf_string_get(full_params));
578 eina_strbuf_append_printf(eo_func_decl,
579 " typedef %s (*_Eo_func)(Eo*, void *obj_data%s);\n"
580 " static Eo_Op ___op = EO_NOOP;\n"
581 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
582 " if (EINA_UNLIKELY(___op == EO_NOOP))\n"
583 " {\n"
584 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
585 " ___op = _eo_api_op_id_get(EO_FUNC_COMMON_OP_FUNC(%s));\n"
586 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
587 " if (___op == EO_NOOP) return %s;\n"
588 " }\n"
589 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
590 " const op_type_funcs *___func = _dich_func_get(___klass, ___op);\n"
591 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
592 " fprintf(stderr, \"___func %%p\\n\", ___func); fflush(stderr);\n"
593 " //assert(!!___func);\n"
594 " fprintf(stderr, \"___func->func %%p\\n\", ___func->func);fflush(stderr);\n"
595 " fprintf(stderr, \"___func->src %%p\\n\", ___func->src);fflush(stderr);\n"
596 " _Eo_func ___func_ = (_Eo_func) ___func->func;\n"
597 " void* ___data = _eo_data_scope_get(___object, ___func->src);\n"
598 " %s%s\n"
599 " %s ___func_((Eo*)___oid, ___data%s%s);\n"
600 " %s\n}\n"
601 , ret_is_void?"void":rettype
602 /* , func_env.lower_eo_func */
603 , eina_strbuf_string_get(full_params)
604 , func_env.lower_eo_func
605 , ret_is_void?"":val_str?val_str:"0"
606 , ret_is_void?"":rettype
607 , ret_is_void?"":" _ret;"
608 /* , func_env.lower_eo_func */
609 /* , ret_is_void?"":val_str?val_str:"0" */
610 , ret_is_void?"":"_ret = "
611 , has_params?", ":""
612 , eina_strbuf_string_get(params)
613 , ret_is_void?"":"return _ret;"
614 );
615
616 eina_strbuf_append_printf(eo_func_decl,
617 "EOAPI %s %s(Eo const* ___object%s)\n{\n", ret_is_void?"void":rettype, func_env.lower_eo_func,
618 eina_strbuf_string_get(full_params));
619 eina_strbuf_append_printf(eo_func_decl,
620 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
621 " _Eo_Object* ___obj = (_Eo_Object*)_eo_obj_pointer_get((Eo_Id)___object);\n"
622 " if(___obj) {\n"
623 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
624 " return _eo_impl_%s(___obj->klass, ___object, ___obj%s%s);\n"
625 " }\n"
626 "}\n"
627 , func_env.lower_eo_func
628 , has_params?", ":""
629 , eina_strbuf_string_get(params)
630 );
631
632 eina_strbuf_append_printf(eo_func_decl,
633 "EOAPI %s eo_super_%s(Eo_Class const* ___klass, Eo const* ___object%s)\n{\n"
634 , ret_is_void?"void":rettype, func_env.lower_eo_func
635 , eina_strbuf_string_get(full_params));
636 eina_strbuf_append_printf(eo_func_decl,
637 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
638 " _Eo_Object* ___obj = (_Eo_Object*)_eo_obj_pointer_get((Eo_Id)___object);\n"
639 " if(___obj) {\n"
640 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
641 " _Eo_Class* ___kls = (_Eo_Class*)_eo_class_pointer_get((Eo_Id)___klass);\n"
642 " fprintf(stderr, \"%%s %%s:%%d\\n\", __func__, __FILE__, __LINE__); fflush(stderr);\n"
643 " if(___kls)\n"
644 " return _eo_impl_%s(___kls->parent, ___object, ___obj%s%s);\n"
645 " }\n"
646 "}\n"
647 , func_env.lower_eo_func
648 , has_params?", ":""
649 , eina_strbuf_string_get(params)
650 );
651
552 eina_strbuf_append_printf(fbody, "%s\n", eina_strbuf_string_get(eo_func_decl)); 652 eina_strbuf_append_printf(fbody, "%s\n", eina_strbuf_string_get(eo_func_decl));
553 eina_strbuf_free(eo_func_decl); 653 /* eina_strbuf_free(eo_func_decl); */
554 } 654 }
555 655
556 if (need_implementation) 656 if (need_implementation)
diff --git a/src/bin/eolian/impl_generator.c b/src/bin/eolian/impl_generator.c
index 4103a2110d..c4f74f1ff6 100644
--- a/src/bin/eolian/impl_generator.c
+++ b/src/bin/eolian/impl_generator.c
@@ -172,9 +172,9 @@ _prototype_generate(const Eolian_Function *foo, Eolian_Function_Type ftype, Eina
172 { 172 {
173 eina_strbuf_append_printf 173 eina_strbuf_append_printf
174 (super_invok, 174 (super_invok,
175 " eo_do_super(obj, %s_%s, %s_%s(%s));\n", 175 " eo_super_%s_%s(%s_%s, obj, %s);\n",
176 class_env.upper_eo_prefix, class_env.upper_classtype,
177 impl_env.lower_eo_prefix, eolian_function_name_get(foo), 176 impl_env.lower_eo_prefix, eolian_function_name_get(foo),
177 class_env.upper_eo_prefix, class_env.upper_classtype,
178 eina_strbuf_string_get(short_params)); 178 eina_strbuf_string_get(short_params));
179 } 179 }
180 } 180 }
diff --git a/src/bin/eolian/legacy_generator.c b/src/bin/eolian/legacy_generator.c
index 18b4506ab2..d05122e546 100644
--- a/src/bin/eolian/legacy_generator.c
+++ b/src/bin/eolian/legacy_generator.c
@@ -24,7 +24,7 @@ EAPI @#ret_type\n\
24@#eapi_func(@#full_params)\n\ 24@#eapi_func(@#full_params)\n\
25{\n\ 25{\n\
26 @#ret_type ret;\n\ 26 @#ret_type ret;\n\
27 eo_do(@#eo_obj, ret = @#eo_func(@#eo_params));\n\ 27 eo_do(@#eo_obj, ret = @#eo_func(@#eo_obj%s@#eo_params));\n\
28 return ret;\n\ 28 return ret;\n\
29}\n\ 29}\n\
30"; 30";
@@ -34,7 +34,7 @@ tmpl_eapi_body_void[] ="\
34EAPI void\n\ 34EAPI void\n\
35@#eapi_func(@#full_params)\n\ 35@#eapi_func(@#full_params)\n\
36{\n\ 36{\n\
37 eo_do(@#eo_obj, @#eo_func(@#eo_params));\n\ 37 eo_do(@#eo_obj, @#eo_func(@#eo_obj%s@#eo_params));\n\
38}\n\ 38}\n\
39"; 39";
40 40
@@ -229,10 +229,23 @@ _eapi_func_generate(const Eolian_Class *class, const Eolian_Function *funcid, Eo
229 229
230 if (!rettype && rettypet) rettype = eolian_type_c_type_get(rettypet); 230 if (!rettype && rettypet) rettype = eolian_type_c_type_get(rettypet);
231 231
232 Eina_Bool has_params = EINA_FALSE;
233
234 itr = eolian_property_keys_get(funcid, ftype);
235 has_params |= (eina_iterator_next(itr, &data));
236 eina_iterator_free(itr);
237
238 if (!has_params && !var_as_ret)
239 {
240 itr = is_prop ? eolian_property_values_get(funcid, ftype) : eolian_function_parameters_get(funcid);
241 has_params |= (eina_iterator_next(itr, &data));
242 eina_iterator_free(itr);
243 }
244
232 if (rettype && (!ret_is_void)) 245 if (rettype && (!ret_is_void))
233 eina_strbuf_append(fbody, tmpl_eapi_body); 246 eina_strbuf_append_printf(fbody, tmpl_eapi_body, has_params?", ":"");
234 else 247 else
235 eina_strbuf_append(fbody, tmpl_eapi_body_void); 248 eina_strbuf_append_printf(fbody, tmpl_eapi_body_void, has_params?", ":"");
236 249
237 if (!eolian_function_is_class(funcid)) 250 if (!eolian_function_is_class(funcid))
238 { 251 {
diff --git a/src/bindings/eo_cxx/eo_inherit.hh b/src/bindings/eo_cxx/eo_inherit.hh
index 3138d1e9a9..7bab9db0b6 100644
--- a/src/bindings/eo_cxx/eo_inherit.hh
+++ b/src/bindings/eo_cxx/eo_inherit.hh
@@ -78,7 +78,7 @@ struct inherit
78 inherit(efl::eo::parent_type _p, Args&& ... args) 78 inherit(efl::eo::parent_type _p, Args&& ... args)
79 { 79 {
80 _eo_cls = detail::create_class<D, E...> (eina::make_index_sequence<sizeof...(E)>()); 80 _eo_cls = detail::create_class<D, E...> (eina::make_index_sequence<sizeof...(E)>());
81 _eo_raw = eo_add_ref(_eo_cls, _p._eo_raw, detail::inherit_constructor(this), ::efl::eolian::call_ctors(args...)); 81 eo_add_ref(_eo_raw, _eo_cls, _p._eo_raw, detail::inherit_constructor(this), ::efl::eolian::call_ctors(args...));
82 ::efl::eolian::register_ev_del_free_callback(_eo_raw, args...); 82 ::efl::eolian::register_ev_del_free_callback(_eo_raw, args...);
83 } 83 }
84 84
diff --git a/src/examples/ecore/ecore_audio_custom.c b/src/examples/ecore/ecore_audio_custom.c
index 735533517a..fba4698d7c 100644
--- a/src/examples/ecore/ecore_audio_custom.c
+++ b/src/examples/ecore/ecore_audio_custom.c
@@ -25,7 +25,7 @@ int read_cb(void *data EINA_UNUSED, Eo *eo_obj, void *buf, int len)
25 float *val = buf; 25 float *val = buf;
26 int i; 26 int i;
27 27
28 eo_do(eo_obj, ecore_audio_obj_volume_get(&volume)); 28 eo_do(eo_obj, ecore_audio_obj_volume_get(eo_obj, &volume));
29 29
30 for(i=0; i<len/4; i++, phase1++) 30 for(i=0; i<len/4; i++, phase1++)
31 { 31 {
@@ -56,9 +56,9 @@ main(int argc, const char *argv[])
56 56
57 ecore_app_args_set(argc, argv); 57 ecore_app_args_set(argc, argv);
58 58
59 out = eo_add(ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, NULL); 59 eo_add(out, ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, NULL);
60 60
61 in = eo_add(ECORE_AUDIO_OBJ_IN_CLASS, NULL); 61 eo_add(in, ECORE_AUDIO_OBJ_IN_CLASS, NULL);
62 if (!in) 62 if (!in)
63 { 63 {
64 printf("error when creating ecore audio source.\n"); 64 printf("error when creating ecore audio source.\n");
diff --git a/src/examples/ecore/ecore_audio_playback.c b/src/examples/ecore/ecore_audio_playback.c
index 78c98a366a..1572ef5e7b 100644
--- a/src/examples/ecore/ecore_audio_playback.c
+++ b/src/examples/ecore/ecore_audio_playback.c
@@ -252,7 +252,7 @@ main(int argc, const char *argv[])
252 { 252 {
253 if (!strncmp(argv[i], "tone:", 5)) 253 if (!strncmp(argv[i], "tone:", 5))
254 { 254 {
255 in = eo_add(ECORE_AUDIO_OBJ_IN_TONE_CLASS, NULL); 255 eo_add(in, ECORE_AUDIO_OBJ_IN_TONE_CLASS, NULL);
256 if (!in) 256 if (!in)
257 { 257 {
258 printf("error when creating ecore audio source.\n"); 258 printf("error when creating ecore audio source.\n");
@@ -276,7 +276,7 @@ main(int argc, const char *argv[])
276 } 276 }
277 else 277 else
278 { 278 {
279 in = eo_add(ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, NULL); 279 eo_add(in, ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, NULL);
280 if (!in) 280 if (!in)
281 { 281 {
282 printf("error when creating ecore audio source.\n"); 282 printf("error when creating ecore audio source.\n");
@@ -307,7 +307,7 @@ main(int argc, const char *argv[])
307 307
308 printf("Start: %s (%0.2fs)\n", name, length); 308 printf("Start: %s (%0.2fs)\n", name, length);
309 309
310 out = eo_add(ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, NULL); 310 eo_add(out, ECORE_AUDIO_OBJ_OUT_PULSE_CLASS, NULL);
311 eo_do(out, ret = ecore_audio_obj_out_input_attach(in)); 311 eo_do(out, ret = ecore_audio_obj_out_input_attach(in));
312 if (!ret) 312 if (!ret)
313 printf("Could not attach input %s\n", name); 313 printf("Could not attach input %s\n", name);
diff --git a/src/examples/ecore/ecore_audio_to_ogg.c b/src/examples/ecore/ecore_audio_to_ogg.c
index 7048ed56c2..be2c565555 100644
--- a/src/examples/ecore/ecore_audio_to_ogg.c
+++ b/src/examples/ecore/ecore_audio_to_ogg.c
@@ -49,7 +49,7 @@ main(int argc, char *argv[])
49 ecore_audio_init(); 49 ecore_audio_init();
50 50
51 51
52 in = eo_add(ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, NULL); 52 eo_add(in, ECORE_AUDIO_OBJ_IN_SNDFILE_CLASS, NULL);
53 eo_do(in, ecore_audio_obj_name_set(basename(argv[1]))); 53 eo_do(in, ecore_audio_obj_name_set(basename(argv[1])));
54 eo_do(in, ret = ecore_audio_obj_source_set(argv[1])); 54 eo_do(in, ret = ecore_audio_obj_source_set(argv[1]));
55 if (!ret) { 55 if (!ret) {
@@ -60,7 +60,7 @@ main(int argc, char *argv[])
60 60
61 eo_do(in, eo_event_callback_add(ECORE_AUDIO_EV_IN_STOPPED, _play_finished, NULL)); 61 eo_do(in, eo_event_callback_add(ECORE_AUDIO_EV_IN_STOPPED, _play_finished, NULL));
62 62
63 out = eo_add(ECORE_AUDIO_OBJ_OUT_SNDFILE_CLASS, NULL); 63 eo_add(out, ECORE_AUDIO_OBJ_OUT_SNDFILE_CLASS, NULL);
64 eo_do(out, ret = ecore_audio_obj_source_set(argv[2])); 64 eo_do(out, ret = ecore_audio_obj_source_set(argv[2]));
65 if (!ret) { 65 if (!ret) {
66 printf("Could not set %s as output\n", argv[2]); 66 printf("Could not set %s as output\n", argv[2]);
diff --git a/src/examples/eo/evas/evas_elw_box.c b/src/examples/eo/evas/evas_elw_box.c
index 96df326e99..efd3c79668 100644
--- a/src/examples/eo/evas/evas_elw_box.c
+++ b/src/examples/eo/evas/evas_elw_box.c
@@ -30,7 +30,7 @@ _pack_end(Eo *obj EINA_UNUSED, void *class_data, va_list *list)
30static void 30static void
31_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED) 31_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED)
32{ 32{
33 eo_do_super(obj, MY_CLASS, eo_constructor()); 33 eo_super_eo_constructor(MY_CLASS);
34 34
35 Widget_Data *wd = class_data; 35 Widget_Data *wd = class_data;
36 36
diff --git a/src/examples/eo/evas/evas_elw_boxedbutton.c b/src/examples/eo/evas/evas_elw_boxedbutton.c
index 44fc2605c8..e33db1ad68 100644
--- a/src/examples/eo/evas/evas_elw_boxedbutton.c
+++ b/src/examples/eo/evas/evas_elw_boxedbutton.c
@@ -20,9 +20,10 @@ typedef struct
20static void 20static void
21_constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) 21_constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED)
22{ 22{
23 eo_do_super(obj, MY_CLASS, eo_constructor()); 23 eo_super_eo_constructor(MY_CLASS);
24 24
25 Eo *bt = eo_add(ELW_BUTTON_CLASS, obj); 25 Eo *bt;
26 eo_add(bt, ELW_BUTTON_CLASS, obj);
26 eo_do(obj, eo_composite_attach(bt)); 27 eo_do(obj, eo_composite_attach(bt));
27 eo_do(bt, eo_event_callback_forwarder_add(EV_CLICKED, obj)); 28 eo_do(bt, eo_event_callback_forwarder_add(EV_CLICKED, obj));
28 eo_do(bt, exevas_obj_visibility_set(EINA_TRUE)); 29 eo_do(bt, exevas_obj_visibility_set(EINA_TRUE));
diff --git a/src/examples/eo/evas/evas_elw_button.c b/src/examples/eo/evas/evas_elw_button.c
index 7067171dc4..ab9c8474ca 100644
--- a/src/examples/eo/evas/evas_elw_button.c
+++ b/src/examples/eo/evas/evas_elw_button.c
@@ -28,7 +28,7 @@ _position_set(Eo *obj, void *class_data EINA_UNUSED, va_list *list)
28 x = va_arg(*list, Evas_Coord); 28 x = va_arg(*list, Evas_Coord);
29 y = va_arg(*list, Evas_Coord); 29 y = va_arg(*list, Evas_Coord);
30 printf("But set position %d,%d\n", x, y); 30 printf("But set position %d,%d\n", x, y);
31 eo_do_super(obj, MY_CLASS, exevas_obj_position_set(x, y)); 31 eo_super_exevas_obj_position_set(MY_CLASS x, y);
32} 32}
33 33
34static void 34static void
@@ -52,7 +52,7 @@ _btn_clicked(void *data, Evas_Object *evas_obj, void *event_info)
52static void 52static void
53_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED) 53_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED)
54{ 54{
55 eo_do_super(obj, MY_CLASS, eo_constructor()); 55 eo_super_eo_constructor(MY_CLASS);
56 56
57 Widget_Data *wd = class_data; 57 Widget_Data *wd = class_data;
58 58
@@ -68,7 +68,7 @@ _constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED)
68static void 68static void
69_destructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) 69_destructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED)
70{ 70{
71 eo_do_super(obj, MY_CLASS, eo_destructor()); 71 eo_super_eo_destructor(MY_CLASS);
72 72
73 //Widget_Data *wd = class_data; 73 //Widget_Data *wd = class_data;
74 /* FIXME: Commented out because it's automatically done because our tree 74 /* FIXME: Commented out because it's automatically done because our tree
diff --git a/src/examples/eo/evas/evas_elw_win.c b/src/examples/eo/evas/evas_elw_win.c
index e5a917d781..746c960d50 100644
--- a/src/examples/eo/evas/evas_elw_win.c
+++ b/src/examples/eo/evas/evas_elw_win.c
@@ -29,7 +29,7 @@ my_win_del(void *data, Evas_Object *obj, void *event_info)
29static void 29static void
30_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED) 30_constructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED)
31{ 31{
32 eo_do_super(obj, MY_CLASS, eo_constructor()); 32 eo_super_eo_constructor(MY_CLASS);
33 33
34 Widget_Data *wd = class_data; 34 Widget_Data *wd = class_data;
35 35
diff --git a/src/examples/eo/evas/evas_evas_obj.c b/src/examples/eo/evas/evas_evas_obj.c
index 768d3d4ea6..d4249d5f33 100644
--- a/src/examples/eo/evas/evas_evas_obj.c
+++ b/src/examples/eo/evas/evas_evas_obj.c
@@ -82,7 +82,7 @@ _child_add(Eo *obj, void *class_data, va_list *list)
82static void 82static void
83_constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) 83_constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED)
84{ 84{
85 eo_do_super(obj, MY_CLASS, eo_constructor()); 85 eo_super_eo_constructor(MY_CLASS);
86 86
87 /* Add type check. */ 87 /* Add type check. */
88 Eo *parent = eo_parent_get(obj); 88 Eo *parent = eo_parent_get(obj);
@@ -93,7 +93,7 @@ _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED)
93static void 93static void
94_destructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED) 94_destructor(Eo *obj, void *class_data, va_list *list EINA_UNUSED)
95{ 95{
96 eo_do_super(obj, MY_CLASS, eo_destructor()); 96 eo_super_eo_destructor(MY_CLASS);
97 97
98 Widget_Data *wd = class_data; 98 Widget_Data *wd = class_data;
99 99
diff --git a/src/examples/eo/evas/evas_test.c b/src/examples/eo/evas/evas_test.c
index 1502e31dd1..6fc5037667 100644
--- a/src/examples/eo/evas/evas_test.c
+++ b/src/examples/eo/evas/evas_test.c
@@ -33,10 +33,12 @@ main(int argc, char *argv[])
33 elm_init(argc, argv); 33 elm_init(argc, argv);
34 eo_init(); 34 eo_init();
35 35
36 Eo *win = eo_add(ELW_WIN_CLASS, NULL); 36 Eo *win;
37 eo_add(win, ELW_WIN_CLASS, NULL);
37 eo_do(win, exevas_obj_size_set(winw, winh), exevas_obj_visibility_set(EINA_TRUE)); 38 eo_do(win, exevas_obj_size_set(winw, winh), exevas_obj_visibility_set(EINA_TRUE));
38 39
39 Eo *bt = eo_add(ELW_BUTTON_CLASS, win); 40 Eo *bt;
41 eo_add(bt, ELW_BUTTON_CLASS, win);
40 eo_do(bt, exevas_obj_position_set(25, 25), 42 eo_do(bt, exevas_obj_position_set(25, 25),
41 exevas_obj_size_set(50, 50), 43 exevas_obj_size_set(50, 50),
42 exevas_obj_color_set(255, 0, 0, 255), 44 exevas_obj_color_set(255, 0, 0, 255),
@@ -48,7 +50,8 @@ main(int argc, char *argv[])
48 eo_do(bt, exevas_obj_color_get(&r, &g, &b, &a)); 50 eo_do(bt, exevas_obj_color_get(&r, &g, &b, &a));
49 printf("RGBa(%d, %d, %d, %d)\n", r, g, b, a); 51 printf("RGBa(%d, %d, %d, %d)\n", r, g, b, a);
50 52
51 Eo *bx = eo_add(ELW_BOXEDBUTTON_CLASS, win); 53 Eo *bx;
54 eo_add(bx, ELW_BOXEDBUTTON_CLASS, win);
52 eo_do(bx, exevas_obj_position_set(100, 100), 55 eo_do(bx, exevas_obj_position_set(100, 100),
53 exevas_obj_size_set(70, 70), 56 exevas_obj_size_set(70, 70),
54 exevas_obj_color_set(0, 0, 255, 255), 57 exevas_obj_color_set(0, 0, 255, 255),
diff --git a/src/examples/eo/isa/eo_isa_main.c b/src/examples/eo/isa/eo_isa_main.c
index 567ef32542..5cfbe5ded1 100644
--- a/src/examples/eo/isa/eo_isa_main.c
+++ b/src/examples/eo/isa/eo_isa_main.c
@@ -13,8 +13,10 @@ main(int argc, char *argv[])
13 (void) argv; 13 (void) argv;
14 eo_init(); 14 eo_init();
15 15
16 Eo *simpleobj = eo_add(SIMPLE_CLASS, NULL); 16 Eo *simpleobj;
17 Eo *complexobj = eo_add(COMPLEX_CLASS, NULL); 17 eo_add(simpleobj, SIMPLE_CLASS, NULL);
18 Eo *complexobj;
19 eo_add(complexobj, COMPLEX_CLASS, NULL);
18 20
19 printf("Simple: isa-simple:%d isa-complex:%d isa-mixin:%d isa-interface:%d\n", 21 printf("Simple: isa-simple:%d isa-complex:%d isa-mixin:%d isa-interface:%d\n",
20 eo_isa(simpleobj, SIMPLE_CLASS), 22 eo_isa(simpleobj, SIMPLE_CLASS),
diff --git a/src/examples/eolian_cxx/colourable.c b/src/examples/eolian_cxx/colourable.c
index 655d63c5c2..75fc1857fa 100644
--- a/src/examples/eolian_cxx/colourable.c
+++ b/src/examples/eolian_cxx/colourable.c
@@ -35,7 +35,7 @@ _colourable_eo_base_constructor(Eo *obj, Colourable_Data *self EINA_UNUSED)
35 = eina_log_domain_register("colourable", EINA_COLOR_BLUE); 35 = eina_log_domain_register("colourable", EINA_COLOR_BLUE);
36 } 36 }
37 DBG("_colourable_constructor(%p, %p)\n", obj, MY_CLASS); 37 DBG("_colourable_constructor(%p, %p)\n", obj, MY_CLASS);
38 return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 38 return eo_constructor(MY_CLASS, obj);
39} 39}
40 40
41void 41void
diff --git a/src/examples/eolian_cxx/colourablesquare.c b/src/examples/eolian_cxx/colourablesquare.c
index 87bc419816..4b9ad65e9d 100644
--- a/src/examples/eolian_cxx/colourablesquare.c
+++ b/src/examples/eolian_cxx/colourablesquare.c
@@ -35,7 +35,7 @@ _colourablesquare_size_constructor(Eo *obj, ColourableSquare_Data *self, int siz
35 } 35 }
36 self->size = size; 36 self->size = size;
37 DBG("_colourablesquare_constructor(%d)\n", size); 37 DBG("_colourablesquare_constructor(%d)\n", size);
38 eo_do_super(obj, MY_CLASS, eo_constructor()); 38 eo_super_eo_constructor(MY_CLASS);
39} 39}
40 40
41static int 41static int
diff --git a/src/examples/eolian_cxx/colourablesquare_cxx.cc b/src/examples/eolian_cxx/colourablesquare_cxx.cc
index 906183a2aa..36cde3e136 100644
--- a/src/examples/eolian_cxx/colourablesquare_cxx.cc
+++ b/src/examples/eolian_cxx/colourablesquare_cxx.cc
@@ -25,7 +25,7 @@ _colourablesquare_size_constructor(Eo *obj, ColourableSquare_Data *self, int siz
25{ 25{
26 self->size = size; 26 self->size = size;
27 EINA_CXX_DOM_LOG_DBG(domain) << __func__ << " [ size = " << size << " ]" << std::endl; 27 EINA_CXX_DOM_LOG_DBG(domain) << __func__ << " [ size = " << size << " ]" << std::endl;
28 eo_do_super(obj, MY_CLASS, eo_constructor()); 28 eo_super_eo_constructor(MY_CLASS);
29} 29}
30 30
31int 31int
diff --git a/src/examples/evas/evas-3d-aabb.c b/src/examples/evas/evas-3d-aabb.c
index c8d906c881..59c9a8b703 100644
--- a/src/examples/evas/evas-3d-aabb.c
+++ b/src/examples/evas/evas-3d-aabb.c
@@ -142,17 +142,16 @@ main(void)
142 142
143 evas = ecore_evas_get(ecore_evas); 143 evas = ecore_evas_get(ecore_evas);
144 144
145 scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 145 eo_add(scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
146 146
147 root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 147 eo_add(root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
148 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 148 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
149 149
150 camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 150 eo_add(camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
151 eo_do(camera, 151 eo_do(camera,
152 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0)); 152 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0));
153 153
154 camera_node = 154 eo_add(camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
155 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
156 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 155 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
157 eo_do(camera_node, 156 eo_do(camera_node,
158 evas_canvas3d_node_camera_set(camera)); 157 evas_canvas3d_node_camera_set(camera));
@@ -162,15 +161,14 @@ main(void)
162 evas_canvas3d_node_position_set(100.0, 50.0, 20.0), 161 evas_canvas3d_node_position_set(100.0, 50.0, 20.0),
163 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 20.0, 162 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 20.0,
164 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0)); 163 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0));
165 light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 164 eo_add(light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
166 eo_do(light, 165 eo_do(light,
167 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0), 166 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
168 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 167 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
169 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0), 168 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
170 evas_canvas3d_light_directional_set(EINA_TRUE)); 169 evas_canvas3d_light_directional_set(EINA_TRUE));
171 170
172 light_node = 171 eo_add(light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
173 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
174 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 172 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
175 eo_do(light_node, 173 eo_do(light_node,
176 evas_canvas3d_node_light_set(light), 174 evas_canvas3d_node_light_set(light),
@@ -180,15 +178,15 @@ main(void)
180 eo_do(root_node, 178 eo_do(root_node,
181 evas_canvas3d_node_member_add(light_node)); 179 evas_canvas3d_node_member_add(light_node));
182 180
183 mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 181 eo_add(mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
184 material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 182 eo_add(material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
185 183
186 eo_do(mesh, 184 eo_do(mesh,
187 efl_file_set(model_path, NULL), 185 efl_file_set(model_path, NULL),
188 evas_canvas3d_mesh_frame_material_set(0, material), 186 evas_canvas3d_mesh_frame_material_set(0, material),
189 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG)); 187 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
190 188
191 texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 189 eo_add(texture, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
192 eo_do(texture, 190 eo_do(texture,
193 evas_canvas3d_texture_file_set(image_path, NULL), 191 evas_canvas3d_texture_file_set(image_path, NULL),
194 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, 192 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST,
@@ -209,19 +207,19 @@ main(void)
209 1.0, 1.0, 1.0, 1.0), 207 1.0, 1.0, 1.0, 1.0),
210 evas_canvas3d_material_shininess_set(50.0)); 208 evas_canvas3d_material_shininess_set(50.0));
211 209
212 mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 210 eo_add(mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
213 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 211 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
214 mesh_box_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 212 eo_add(mesh_box_node, EVAS_CANVAS3D_NODE_CLASS, evas,
215 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 213 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
216 214
217 material_box = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 215 eo_add(material_box, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
218 eo_do(material_box, evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE)); 216 eo_do(material_box, evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE));
219 217
220 cube = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 218 eo_add(cube, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
221 eo_do(cube, 219 eo_do(cube,
222 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE)); 220 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE));
223 221
224 mesh_box = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 222 eo_add(mesh_box, EVAS_CANVAS3D_MESH_CLASS, evas);
225 eo_do(mesh_box, 223 eo_do(mesh_box,
226 evas_canvas3d_mesh_from_primitive_set(0, cube), 224 evas_canvas3d_mesh_from_primitive_set(0, cube),
227 evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES), 225 evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES),
@@ -244,7 +242,7 @@ main(void)
244 evas_canvas3d_scene_camera_node_set(camera_node), 242 evas_canvas3d_scene_camera_node_set(camera_node),
245 evas_canvas3d_scene_size_set(WIDTH, HEIGHT)); 243 evas_canvas3d_scene_size_set(WIDTH, HEIGHT));
246 244
247 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 245 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
248 eo_do(background, 246 eo_do(background,
249 efl_gfx_color_set(0, 0, 0, 255), 247 efl_gfx_color_set(0, 0, 0, 255),
250 efl_gfx_size_set(WIDTH, HEIGHT), 248 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-blending.c b/src/examples/evas/evas-3d-blending.c
index 98bd74afb5..589e78fdaf 100644
--- a/src/examples/evas/evas-3d-blending.c
+++ b/src/examples/evas/evas-3d-blending.c
@@ -144,13 +144,12 @@ _animate_scene(void *data)
144static void 144static void
145_camera_setup(Scene_Data *data) 145_camera_setup(Scene_Data *data)
146{ 146{
147 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 147 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
148 148
149 eo_do(data->camera, 149 eo_do(data->camera,
150 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0)); 150 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
151 151
152 data->camera_node = 152 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
153 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
154 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 153 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
155 154
156 eo_do(data->camera_node, 155 eo_do(data->camera_node,
@@ -165,14 +164,13 @@ _camera_setup(Scene_Data *data)
165static void 164static void
166_light_setup(Scene_Data *data) 165_light_setup(Scene_Data *data)
167{ 166{
168 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 167 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
169 eo_do(data->light, 168 eo_do(data->light,
170 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0), 169 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
171 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 170 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
172 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 171 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
173 172
174 data->light_node = 173 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
175 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
176 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 174 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
177 eo_do(data->light_node, 175 eo_do(data->light_node,
178 evas_canvas3d_node_light_set(data->light), 176 evas_canvas3d_node_light_set(data->light),
@@ -194,7 +192,7 @@ _set_ball(Eo *mesh, Eo *sphere, Evas_Canvas3D_Material *material)
194static void 192static void
195_mesh_setup(Scene_Data *data) 193_mesh_setup(Scene_Data *data)
196{ 194{
197 data->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 195 eo_add(data->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
198 196
199 eo_do(data->material, 197 eo_do(data->material,
200 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 198 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
@@ -206,7 +204,7 @@ _mesh_setup(Scene_Data *data)
206 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 0.2), 204 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 0.2),
207 evas_canvas3d_material_shininess_set(100.0)); 205 evas_canvas3d_material_shininess_set(100.0));
208 206
209 data->material1 = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 207 eo_add(data->material1, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
210 208
211 eo_do(data->material1, 209 eo_do(data->material1,
212 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 210 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
@@ -218,26 +216,24 @@ _mesh_setup(Scene_Data *data)
218 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 0.2), 216 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 0.2),
219 evas_canvas3d_material_shininess_set(100.0)); 217 evas_canvas3d_material_shininess_set(100.0));
220 218
221 data->sphere = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 219 eo_add(data->sphere, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
222 eo_do(data->sphere, 220 eo_do(data->sphere,
223 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE), 221 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE),
224 evas_canvas3d_primitive_precision_set(50)); 222 evas_canvas3d_primitive_precision_set(50));
225 223
226 data->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 224 eo_add(data->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
227 data->mesh1 = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 225 eo_add(data->mesh1, EVAS_CANVAS3D_MESH_CLASS, evas);
228 226
229 _set_ball(data->mesh, data->sphere, data->material); 227 _set_ball(data->mesh, data->sphere, data->material);
230 _set_ball(data->mesh1, data->sphere, data->material1); 228 _set_ball(data->mesh1, data->sphere, data->material1);
231 229
232 data->mesh_node = 230 eo_add(data->mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
233 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
234 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 231 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
235 232
236 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node)); 233 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node));
237 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh)); 234 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh));
238 235
239 data->mesh_node1 = 236 eo_add(data->mesh_node1, EVAS_CANVAS3D_NODE_CLASS, evas,
240 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
241 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 237 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
242 238
243 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node1)); 239 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node1));
@@ -256,14 +252,13 @@ _mesh_setup(Scene_Data *data)
256static void 252static void
257_scene_setup(Scene_Data *data) 253_scene_setup(Scene_Data *data)
258{ 254{
259 data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 255 eo_add(data->scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
260 256
261 eo_do(data->scene, 257 eo_do(data->scene,
262 evas_canvas3d_scene_size_set(WIDTH, HEIGHT); 258 evas_canvas3d_scene_size_set(WIDTH, HEIGHT);
263 evas_canvas3d_scene_background_color_set(0.5, 0.5, 0.5, 1)); 259 evas_canvas3d_scene_background_color_set(0.5, 0.5, 0.5, 1));
264 260
265 data->root_node = 261 eo_add(data->root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
266 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
267 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 262 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
268 263
269 _camera_setup(data); 264 _camera_setup(data);
diff --git a/src/examples/evas/evas-3d-colorpick.c b/src/examples/evas/evas-3d-colorpick.c
index f0a6444d77..5845a5f857 100644
--- a/src/examples/evas/evas-3d-colorpick.c
+++ b/src/examples/evas/evas-3d-colorpick.c
@@ -242,9 +242,9 @@ Eina_Bool
242_init_sphere(void *this, const char *texture) 242_init_sphere(void *this, const char *texture)
243{ 243{
244 Test_object *sphere = (Test_object *)this; 244 Test_object *sphere = (Test_object *)this;
245 sphere->primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 245 eo_add(sphere->primitive, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
246 sphere->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 246 eo_add(sphere->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
247 sphere->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 247 eo_add(sphere->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
248 eo_do(sphere->primitive, 248 eo_do(sphere->primitive,
249 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE), 249 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE),
250 evas_canvas3d_primitive_precision_set(50)); 250 evas_canvas3d_primitive_precision_set(50));
@@ -255,7 +255,7 @@ _init_sphere(void *this, const char *texture)
255 255
256 eo_do(sphere->mesh, evas_canvas3d_mesh_color_pick_enable_set(EINA_TRUE)); 256 eo_do(sphere->mesh, evas_canvas3d_mesh_color_pick_enable_set(EINA_TRUE));
257 257
258 sphere->texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 258 eo_add(sphere->texture, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
259 eo_do(sphere->texture, 259 eo_do(sphere->texture,
260 evas_canvas3d_texture_file_set(texture, NULL), 260 evas_canvas3d_texture_file_set(texture, NULL),
261 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, 261 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST,
@@ -286,17 +286,16 @@ _init_scene(const char *texture)
286 Evas_Real tmp; 286 Evas_Real tmp;
287 Test_object *m; 287 Test_object *m;
288 288
289 globalscene.scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 289 eo_add(globalscene.scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
290 290
291 globalscene.root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 291 eo_add(globalscene.root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
292 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 292 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
293 293
294 globalscene.camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 294 eo_add(globalscene.camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
295 eo_do(globalscene.camera, 295 eo_do(globalscene.camera,
296 evas_canvas3d_camera_projection_perspective_set(30.0, 1.0, 1.0, 1000.0)); 296 evas_canvas3d_camera_projection_perspective_set(30.0, 1.0, 1.0, 1000.0));
297 297
298 globalscene.camera_node = 298 eo_add(globalscene.camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
299 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
300 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 299 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
301 eo_do(globalscene.camera_node, 300 eo_do(globalscene.camera_node,
302 evas_canvas3d_node_camera_set(globalscene.camera)); 301 evas_canvas3d_node_camera_set(globalscene.camera));
@@ -306,15 +305,14 @@ _init_scene(const char *texture)
306 evas_canvas3d_node_position_set(0.0, 30.0, 800.0), 305 evas_canvas3d_node_position_set(0.0, 30.0, 800.0),
307 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, -1000.0, 306 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, -1000.0,
308 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0)); 307 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
309 globalscene.light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 308 eo_add(globalscene.light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
310 eo_do(globalscene.light, 309 eo_do(globalscene.light,
311 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0), 310 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
312 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 311 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
313 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0), 312 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
314 evas_canvas3d_light_directional_set(EINA_TRUE)); 313 evas_canvas3d_light_directional_set(EINA_TRUE));
315 314
316 globalscene.light_node = 315 eo_add(globalscene.light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
317 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
318 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 316 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
319 eo_do(globalscene.light_node, 317 eo_do(globalscene.light_node,
320 evas_canvas3d_node_light_set(globalscene.light), 318 evas_canvas3d_node_light_set(globalscene.light),
@@ -339,7 +337,7 @@ _init_scene(const char *texture)
339 m->material = spheretmp->material; 337 m->material = spheretmp->material;
340 m->texture = spheretmp->texture; 338 m->texture = spheretmp->texture;
341 } 339 }
342 m->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 340 eo_add(m->node, EVAS_CANVAS3D_NODE_CLASS, evas,
343 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 341 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
344 m->speed = tmp; 342 m->speed = tmp;
345 m->sphere_animate = _animate_sphere; 343 m->sphere_animate = _animate_sphere;
diff --git a/src/examples/evas/evas-3d-cube-rotate.c b/src/examples/evas/evas-3d-cube-rotate.c
index eec0234960..2a38c94c3b 100644
--- a/src/examples/evas/evas-3d-cube-rotate.c
+++ b/src/examples/evas/evas-3d-cube-rotate.c
@@ -148,11 +148,11 @@ _animate_scene(void *data)
148static void 148static void
149_camera_setup(Scene_Data *data) 149_camera_setup(Scene_Data *data)
150{ 150{
151 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 151 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
152 eo_do(data->camera, 152 eo_do(data->camera,
153 evas_canvas3d_camera_projection_perspective_set(20.0, 1.0, 2.0, 50.0)); 153 evas_canvas3d_camera_projection_perspective_set(20.0, 1.0, 2.0, 50.0));
154 154
155 data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 155 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
156 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 156 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
157 eo_do(data->camera_node, 157 eo_do(data->camera_node,
158 evas_canvas3d_node_camera_set(data->camera), 158 evas_canvas3d_node_camera_set(data->camera),
@@ -165,14 +165,14 @@ _camera_setup(Scene_Data *data)
165static void 165static void
166_light_setup(Scene_Data *data) 166_light_setup(Scene_Data *data)
167{ 167{
168 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS,evas); 168 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS,evas);
169 169
170 eo_do(data->light, 170 eo_do(data->light,
171 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0), 171 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
172 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 172 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
173 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 173 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
174 174
175 data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 175 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
176 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 176 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
177 177
178 eo_do(data->light_node, 178 eo_do(data->light_node,
@@ -188,7 +188,7 @@ static void
188_mesh_setup(Scene_Data *data) 188_mesh_setup(Scene_Data *data)
189{ 189{
190 /* Setup material. */ 190 /* Setup material. */
191 data->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 191 eo_add(data->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
192 192
193 eo_do(data->material, 193 eo_do(data->material,
194 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 194 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
@@ -200,18 +200,18 @@ _mesh_setup(Scene_Data *data)
200 evas_canvas3d_material_shininess_set(100.0)); 200 evas_canvas3d_material_shininess_set(100.0));
201 201
202 /* Setup primitive */ 202 /* Setup primitive */
203 data->cube = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 203 eo_add(data->cube, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
204 eo_do(data->cube, 204 eo_do(data->cube,
205 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE)); 205 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE));
206 206
207 /* Setup mesh. */ 207 /* Setup mesh. */
208 data->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 208 eo_add(data->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
209 eo_do(data->mesh, 209 eo_do(data->mesh,
210 evas_canvas3d_mesh_from_primitive_set(0, data->cube), 210 evas_canvas3d_mesh_from_primitive_set(0, data->cube),
211 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG), 211 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG),
212 evas_canvas3d_mesh_frame_material_set(0, data->material)); 212 evas_canvas3d_mesh_frame_material_set(0, data->material));
213 213
214 data->mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 214 eo_add(data->mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas, evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
215 eo_do(data->root_node, 215 eo_do(data->root_node,
216 evas_canvas3d_node_member_add(data->mesh_node)); 216 evas_canvas3d_node_member_add(data->mesh_node));
217 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh)); 217 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh));
@@ -220,8 +220,8 @@ _mesh_setup(Scene_Data *data)
220static void 220static void
221_scene_setup(Scene_Data *data) 221_scene_setup(Scene_Data *data)
222{ 222{
223 scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 223 eo_add(scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
224 data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 224 eo_add(data->root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
225 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 225 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
226 226
227 eo_do(scene, 227 eo_do(scene,
diff --git a/src/examples/evas/evas-3d-cube.c b/src/examples/evas/evas-3d-cube.c
index d3bcbbe6b5..b4712184e3 100644
--- a/src/examples/evas/evas-3d-cube.c
+++ b/src/examples/evas/evas-3d-cube.c
@@ -134,13 +134,12 @@ _animate_scene(void *data)
134static void 134static void
135_camera_setup(Scene_Data *data) 135_camera_setup(Scene_Data *data)
136{ 136{
137 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 137 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
138 138
139 eo_do(data->camera, 139 eo_do(data->camera,
140 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0)); 140 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
141 141
142 data->camera_node = 142 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
143 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
144 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 143 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
145 eo_do(data->camera_node, 144 eo_do(data->camera_node,
146 evas_canvas3d_node_camera_set(data->camera), 145 evas_canvas3d_node_camera_set(data->camera),
@@ -153,14 +152,13 @@ _camera_setup(Scene_Data *data)
153static void 152static void
154_light_setup(Scene_Data *data) 153_light_setup(Scene_Data *data)
155{ 154{
156 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 155 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
157 eo_do(data->light, 156 eo_do(data->light,
158 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0), 157 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
159 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 158 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
160 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 159 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
161 160
162 data->light_node = 161 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
163 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
164 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 162 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
165 eo_do(data->light_node, 163 eo_do(data->light_node,
166 evas_canvas3d_node_light_set(data->light), 164 evas_canvas3d_node_light_set(data->light),
@@ -173,7 +171,7 @@ static void
173_mesh_setup(Scene_Data *data) 171_mesh_setup(Scene_Data *data)
174{ 172{
175 /* Setup material. */ 173 /* Setup material. */
176 data->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 174 eo_add(data->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
177 175
178 eo_do(data->material, 176 eo_do(data->material,
179 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 177 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
@@ -186,7 +184,7 @@ _mesh_setup(Scene_Data *data)
186 evas_canvas3d_material_shininess_set(100.0)); 184 evas_canvas3d_material_shininess_set(100.0));
187 185
188 /* Setup mesh. */ 186 /* Setup mesh. */
189 data->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 187 eo_add(data->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
190 eo_do(data->mesh, 188 eo_do(data->mesh,
191 evas_canvas3d_mesh_vertex_count_set(24), 189 evas_canvas3d_mesh_vertex_count_set(24),
192 evas_canvas3d_mesh_frame_add(0), 190 evas_canvas3d_mesh_frame_add(0),
@@ -208,8 +206,7 @@ _mesh_setup(Scene_Data *data)
208 206
209 evas_canvas3d_mesh_frame_material_set(0, data->material)); 207 evas_canvas3d_mesh_frame_material_set(0, data->material));
210 208
211 data->mesh_node = 209 eo_add(data->mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
212 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
213 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 210 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
214 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node)); 211 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node));
215 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh)); 212 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh));
@@ -218,13 +215,12 @@ _mesh_setup(Scene_Data *data)
218static void 215static void
219_scene_setup(Scene_Data *data) 216_scene_setup(Scene_Data *data)
220{ 217{
221 data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 218 eo_add(data->scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
222 eo_do(data->scene, 219 eo_do(data->scene,
223 evas_canvas3d_scene_size_set(WIDTH, HEIGHT); 220 evas_canvas3d_scene_size_set(WIDTH, HEIGHT);
224 evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0)); 221 evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
225 222
226 data->root_node = 223 eo_add(data->root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
227 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
228 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 224 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
229 225
230 _camera_setup(data); 226 _camera_setup(data);
@@ -258,7 +254,7 @@ main(void)
258 _scene_setup(&data); 254 _scene_setup(&data);
259 255
260 /* Add a background rectangle objects. */ 256 /* Add a background rectangle objects. */
261 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 257 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
262 eo_do(background, 258 eo_do(background,
263 efl_gfx_color_set(0, 0, 0, 255), 259 efl_gfx_color_set(0, 0, 0, 255),
264 efl_gfx_size_set(WIDTH, HEIGHT), 260 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-cube2.c b/src/examples/evas/evas-3d-cube2.c
index a2dd1febf5..9f811e1500 100644
--- a/src/examples/evas/evas-3d-cube2.c
+++ b/src/examples/evas/evas-3d-cube2.c
@@ -112,12 +112,11 @@ _animate_scene(void *data)
112static void 112static void
113_camera_setup(Scene_Data *data) 113_camera_setup(Scene_Data *data)
114{ 114{
115 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 115 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
116 eo_do(data->camera, 116 eo_do(data->camera,
117 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0)); 117 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
118 118
119 data->camera_node = 119 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
120 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
121 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 120 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
122 eo_do(data->camera_node, 121 eo_do(data->camera_node,
123 evas_canvas3d_node_camera_set(data->camera), 122 evas_canvas3d_node_camera_set(data->camera),
@@ -131,14 +130,13 @@ _camera_setup(Scene_Data *data)
131static void 130static void
132_light_setup(Scene_Data *data) 131_light_setup(Scene_Data *data)
133{ 132{
134 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 133 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
135 eo_do(data->light, 134 eo_do(data->light,
136 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0), 135 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
137 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 136 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
138 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 137 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
139 138
140 data->light_node = 139 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
141 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas,
142 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 140 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
143 eo_do(data->light_node, 141 eo_do(data->light_node,
144 evas_canvas3d_node_light_set(data->light), 142 evas_canvas3d_node_light_set(data->light),
@@ -152,8 +150,8 @@ static void
152_mesh_setup(Scene_Data *data) 150_mesh_setup(Scene_Data *data)
153{ 151{
154 /* Setup material. */ 152 /* Setup material. */
155 data->material0 = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 153 eo_add(data->material0, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
156 data->material1 = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 154 eo_add(data->material1, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
157 155
158 eo_do(data->material0, 156 eo_do(data->material0,
159 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 157 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
@@ -177,9 +175,9 @@ _mesh_setup(Scene_Data *data)
177 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0), 175 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0),
178 evas_canvas3d_material_shininess_set(100.0)); 176 evas_canvas3d_material_shininess_set(100.0));
179 177
180 data->texture0 = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 178 eo_add(data->texture0, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
181 data->texture1 = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 179 eo_add(data->texture1, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
182 data->texture_normal = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 180 eo_add(data->texture_normal, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
183 181
184 eo_do(data->texture0, 182 eo_do(data->texture0,
185 evas_canvas3d_texture_data_set(EVAS_COLORSPACE_ARGB8888, 4, 4, &pixels0[0])); 183 evas_canvas3d_texture_data_set(EVAS_COLORSPACE_ARGB8888, 4, 4, &pixels0[0]));
@@ -196,12 +194,12 @@ _mesh_setup(Scene_Data *data)
196 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, data->texture_normal)); 194 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, data->texture_normal));
197 195
198 /* Set data of primitive */ 196 /* Set data of primitive */
199 data->cube = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 197 eo_add(data->cube, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
200 eo_do(data->cube, 198 eo_do(data->cube,
201 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE)); 199 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE));
202 200
203 /* Setup mesh. */ 201 /* Setup mesh. */
204 data->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 202 eo_add(data->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
205 eo_do(data->mesh, 203 eo_do(data->mesh,
206 evas_canvas3d_mesh_from_primitive_set(0, data->cube), 204 evas_canvas3d_mesh_from_primitive_set(0, data->cube),
207 evas_canvas3d_mesh_frame_material_set(0, data->material0), 205 evas_canvas3d_mesh_frame_material_set(0, data->material0),
@@ -209,8 +207,8 @@ _mesh_setup(Scene_Data *data)
209 evas_canvas3d_mesh_frame_material_set(20, data->material1), 207 evas_canvas3d_mesh_frame_material_set(20, data->material1),
210 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_NORMAL_MAP)); 208 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_NORMAL_MAP));
211 209
212 data->mesh_node = 210
213 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 211 eo_add(data->mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
214 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 212 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
215 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node)); 213 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node));
216 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh)); 214 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh));
@@ -219,13 +217,13 @@ _mesh_setup(Scene_Data *data)
219static void 217static void
220_scene_setup(Scene_Data *data) 218_scene_setup(Scene_Data *data)
221{ 219{
222 data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 220 eo_add(data->scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
223 eo_do(data->scene, 221 eo_do(data->scene,
224 evas_canvas3d_scene_size_set(WIDTH, HEIGHT), 222 evas_canvas3d_scene_size_set(WIDTH, HEIGHT),
225 evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0)); 223 evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
226 224
227 data->root_node = 225
228 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 226 eo_add(data->root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
229 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 227 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
230 228
231 _camera_setup(data); 229 _camera_setup(data);
@@ -260,7 +258,7 @@ main(void)
260 _scene_setup(&data); 258 _scene_setup(&data);
261 259
262 /* Add a background rectangle objects. */ 260 /* Add a background rectangle objects. */
263 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 261 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
264 eo_do(background, 262 eo_do(background,
265 efl_gfx_color_set(0, 0, 0, 255), 263 efl_gfx_color_set(0, 0, 0, 255),
266 efl_gfx_size_set(WIDTH, HEIGHT), 264 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-eet.c b/src/examples/evas/evas-3d-eet.c
index 9067825e00..18d994cd58 100644
--- a/src/examples/evas/evas-3d-eet.c
+++ b/src/examples/evas/evas-3d-eet.c
@@ -116,18 +116,18 @@ main(void)
116 evas = ecore_evas_get(ecore_evas); 116 evas = ecore_evas_get(ecore_evas);
117 117
118 /* Add a scene object .*/ 118 /* Add a scene object .*/
119 scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 119 eo_add(scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
120 120
121 /* Add the root node for the scene. */ 121 /* Add the root node for the scene. */
122 root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 122 eo_add(root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
123 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 123 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
124 124
125 /* Add the camera. */ 125 /* Add the camera. */
126 camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 126 eo_add(camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
127 eo_do(camera, 127 eo_do(camera,
128 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0)); 128 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0));
129 129
130 camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 130 eo_add(camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
131 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 131 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
132 eo_do(camera_node, 132 eo_do(camera_node,
133 evas_canvas3d_node_camera_set(camera)); 133 evas_canvas3d_node_camera_set(camera));
@@ -138,14 +138,14 @@ main(void)
138 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 20.0, 138 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 20.0,
139 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0)); 139 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0));
140 /* Add the light. */ 140 /* Add the light. */
141 light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 141 eo_add(light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
142 eo_do(light, 142 eo_do(light,
143 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0), 143 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
144 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 144 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
145 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0), 145 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
146 evas_canvas3d_light_directional_set(EINA_TRUE)); 146 evas_canvas3d_light_directional_set(EINA_TRUE));
147 147
148 light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 148 eo_add(light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
149 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 149 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
150 eo_do(light_node, 150 eo_do(light_node,
151 evas_canvas3d_node_light_set(light), 151 evas_canvas3d_node_light_set(light),
@@ -156,9 +156,9 @@ main(void)
156 evas_canvas3d_node_member_add(light_node)); 156 evas_canvas3d_node_member_add(light_node));
157 157
158 /* Add the meshes. */ 158 /* Add the meshes. */
159 mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 159 eo_add(mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
160 mesh2 = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 160 eo_add(mesh2, EVAS_CANVAS3D_MESH_CLASS, evas);
161 material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 161 eo_add(material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
162 162
163 eo_do(mesh, 163 eo_do(mesh,
164 efl_file_set(input_model_path, NULL), 164 efl_file_set(input_model_path, NULL),
@@ -188,7 +188,7 @@ main(void)
188 efl_file_set(output_model_path, NULL), 188 efl_file_set(output_model_path, NULL),
189 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG)); 189 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
190 190
191 mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 191 eo_add(mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
192 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 192 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
193 193
194 eo_do(root_node, 194 eo_do(root_node,
@@ -197,7 +197,7 @@ main(void)
197 evas_canvas3d_node_mesh_add(mesh), 197 evas_canvas3d_node_mesh_add(mesh),
198 evas_canvas3d_node_position_set(0.0, -40.0, 0.0)); 198 evas_canvas3d_node_position_set(0.0, -40.0, 0.0));
199 199
200 mesh_node2 = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 200 eo_add(mesh_node2, EVAS_CANVAS3D_NODE_CLASS, evas,
201 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 201 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
202 eo_do(root_node, 202 eo_do(root_node,
203 evas_canvas3d_node_member_add(mesh_node2)); 203 evas_canvas3d_node_member_add(mesh_node2));
@@ -212,7 +212,7 @@ main(void)
212 evas_canvas3d_scene_size_set(WIDTH, HEIGHT)); 212 evas_canvas3d_scene_size_set(WIDTH, HEIGHT));
213 213
214 /* Add a background rectangle objects. */ 214 /* Add a background rectangle objects. */
215 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 215 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
216 eo_do(background, 216 eo_do(background,
217 efl_gfx_color_set(0, 0, 0, 255), 217 efl_gfx_color_set(0, 0, 0, 255),
218 efl_gfx_size_set(WIDTH, HEIGHT), 218 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-fog.c b/src/examples/evas/evas-3d-fog.c
index 5d191e800f..8d9a0c68ab 100644
--- a/src/examples/evas/evas-3d-fog.c
+++ b/src/examples/evas/evas-3d-fog.c
@@ -82,13 +82,13 @@ _animate_scene(void *data)
82static void 82static void
83_camera_setup(Scene_Data *data) 83_camera_setup(Scene_Data *data)
84{ 84{
85 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 85 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
86 86
87 eo_do(data->camera, 87 eo_do(data->camera,
88 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0)); 88 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 2.0, 50.0));
89 89
90 data->camera_node = 90
91 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 91 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
92 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 92 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
93 93
94 eo_do(data->camera_node, 94 eo_do(data->camera_node,
@@ -103,14 +103,14 @@ _camera_setup(Scene_Data *data)
103static void 103static void
104_light_setup(Scene_Data *data) 104_light_setup(Scene_Data *data)
105{ 105{
106 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 106 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
107 eo_do(data->light, 107 eo_do(data->light,
108 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0), 108 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
109 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 109 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
110 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 110 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
111 111
112 data->light_node = 112
113 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 113 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
114 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 114 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
115 eo_do(data->light_node, 115 eo_do(data->light_node,
116 evas_canvas3d_node_light_set(data->light), 116 evas_canvas3d_node_light_set(data->light),
@@ -133,7 +133,7 @@ _set_ball(Eo *mesh, Eo *sphere, Evas_Canvas3D_Material *material)
133static void 133static void
134_mesh_setup(Scene_Data *data) 134_mesh_setup(Scene_Data *data)
135{ 135{
136 data->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 136 eo_add(data->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
137 137
138 eo_do(data->material, 138 eo_do(data->material,
139 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 139 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
@@ -145,23 +145,23 @@ _mesh_setup(Scene_Data *data)
145 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0), 145 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0),
146 evas_canvas3d_material_shininess_set(100.0)); 146 evas_canvas3d_material_shininess_set(100.0));
147 147
148 data->sphere = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 148 eo_add(data->sphere, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
149 eo_do(data->sphere, 149 eo_do(data->sphere,
150 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE), 150 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE),
151 evas_canvas3d_primitive_precision_set(50)); 151 evas_canvas3d_primitive_precision_set(50));
152 152
153 data->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 153 eo_add(data->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
154 data->mesh1 = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 154 eo_add(data->mesh1, EVAS_CANVAS3D_MESH_CLASS, evas);
155 155
156 _set_ball(data->mesh, data->sphere, data->material); 156 _set_ball(data->mesh, data->sphere, data->material);
157 _set_ball(data->mesh1, data->sphere, data->material); 157 _set_ball(data->mesh1, data->sphere, data->material);
158 158
159 data->animation_node = 159
160 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 160 eo_add(data->animation_node, EVAS_CANVAS3D_NODE_CLASS, evas,
161 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 161 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
162 162
163 data->mesh_node = 163
164 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 164 eo_add(data->mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
165 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 165 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
166 166
167 eo_do(data->animation_node, evas_canvas3d_node_member_add(data->mesh_node)); 167 eo_do(data->animation_node, evas_canvas3d_node_member_add(data->mesh_node));
@@ -169,8 +169,8 @@ _mesh_setup(Scene_Data *data)
169 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh), 169 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh),
170 evas_canvas3d_node_position_set(0.0, 0.0, 3.0)); 170 evas_canvas3d_node_position_set(0.0, 0.0, 3.0));
171 171
172 data->mesh_node1 = 172
173 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 173 eo_add(data->mesh_node1, EVAS_CANVAS3D_NODE_CLASS, evas,
174 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 174 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
175 175
176 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node1)); 176 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node1));
@@ -184,14 +184,14 @@ _mesh_setup(Scene_Data *data)
184static void 184static void
185_scene_setup(Scene_Data *data) 185_scene_setup(Scene_Data *data)
186{ 186{
187 data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 187 eo_add(data->scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
188 188
189 eo_do(data->scene, 189 eo_do(data->scene,
190 evas_canvas3d_scene_size_set(WIDTH, HEIGHT); 190 evas_canvas3d_scene_size_set(WIDTH, HEIGHT);
191 evas_canvas3d_scene_background_color_set(FOG_COLOR, 1)); 191 evas_canvas3d_scene_background_color_set(FOG_COLOR, 1));
192 192
193 data->root_node = 193
194 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 194 eo_add(data->root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
195 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 195 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
196 196
197 _camera_setup(data); 197 _camera_setup(data);
@@ -226,7 +226,7 @@ main(void)
226 _scene_setup(&data); 226 _scene_setup(&data);
227 227
228 /* Add a background rectangle objects. */ 228 /* Add a background rectangle objects. */
229 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 229 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
230 eo_do(background, 230 eo_do(background,
231 efl_gfx_color_set(0, 0, 0, 255), 231 efl_gfx_color_set(0, 0, 0, 255),
232 efl_gfx_size_set(WIDTH, HEIGHT), 232 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-frustum.c b/src/examples/evas/evas-3d-frustum.c
index 465160bae7..a89c407ddf 100644
--- a/src/examples/evas/evas-3d-frustum.c
+++ b/src/examples/evas/evas-3d-frustum.c
@@ -296,8 +296,8 @@ _on_key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *eo EINA_UNUSED, void
296static void 296static void
297_camera_setup(Scene_Data *data) 297_camera_setup(Scene_Data *data)
298{ 298{
299 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 299 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
300 data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 300 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
301 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 301 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
302 eo_do(data->camera_node, 302 eo_do(data->camera_node,
303 evas_canvas3d_node_camera_set(data->camera), 303 evas_canvas3d_node_camera_set(data->camera),
@@ -312,13 +312,13 @@ _camera_setup(Scene_Data *data)
312static void 312static void
313_light_setup(Scene_Data *data) 313_light_setup(Scene_Data *data)
314{ 314{
315 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 315 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
316 eo_do(data->light, 316 eo_do(data->light,
317 evas_canvas3d_light_ambient_set( 0.2, 0.2, 0.2, 1.0); 317 evas_canvas3d_light_ambient_set( 0.2, 0.2, 0.2, 1.0);
318 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0); 318 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0);
319 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 319 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
320 320
321 data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS,evas, 321 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS,evas,
322 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 322 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
323 eo_do(data->light_node, 323 eo_do(data->light_node,
324 evas_canvas3d_node_light_set(data->light), 324 evas_canvas3d_node_light_set(data->light),
@@ -331,7 +331,7 @@ _light_setup(Scene_Data *data)
331static void 331static void
332_mesh_setup(Scene_Data *data) 332_mesh_setup(Scene_Data *data)
333{ 333{
334 data->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 334 eo_add(data->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
335 335
336 eo_do(data->material, 336 eo_do(data->material,
337 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 337 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
@@ -343,31 +343,30 @@ _mesh_setup(Scene_Data *data)
343 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0), 343 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0),
344 evas_canvas3d_material_shininess_set(100.0)); 344 evas_canvas3d_material_shininess_set(100.0));
345 345
346 data->cube = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 346 eo_add(data->cube, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
347 eo_do(data->cube, 347 eo_do(data->cube,
348 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE)); 348 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE));
349 349
350 data->sphere = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 350 eo_add(data->sphere, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
351 eo_do(data->sphere, 351 eo_do(data->sphere,
352 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE), 352 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE),
353 evas_canvas3d_primitive_precision_set(20)); 353 evas_canvas3d_primitive_precision_set(20));
354 354
355 data->mesh_aabb = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 355 eo_add(data->mesh_aabb, EVAS_CANVAS3D_MESH_CLASS, evas);
356 eo_do(data->mesh_aabb, 356 eo_do(data->mesh_aabb,
357 evas_canvas3d_mesh_from_primitive_set(0, data->cube), 357 evas_canvas3d_mesh_from_primitive_set(0, data->cube),
358 evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES), 358 evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES),
359 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_DIFFUSE), 359 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_DIFFUSE),
360 evas_canvas3d_mesh_frame_material_set(0, data->material)); 360 evas_canvas3d_mesh_frame_material_set(0, data->material));
361 361
362 data->mesh_sphere = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 362 eo_add(data->mesh_sphere, EVAS_CANVAS3D_MESH_CLASS, evas);
363 eo_do(data->mesh_sphere, 363 eo_do(data->mesh_sphere,
364 evas_canvas3d_mesh_from_primitive_set(0, data->sphere), 364 evas_canvas3d_mesh_from_primitive_set(0, data->sphere),
365 evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES), 365 evas_canvas3d_mesh_vertex_assembly_set(EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES),
366 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_DIFFUSE), 366 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_DIFFUSE),
367 evas_canvas3d_mesh_frame_material_set(0, data->material)); 367 evas_canvas3d_mesh_frame_material_set(0, data->material));
368 368
369 data->mesh_node = 369 eo_add(data->mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas, evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
370 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
371 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node)); 370 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node));
372 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh_aabb)); 371 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh_aabb));
373} 372}
@@ -375,9 +374,9 @@ _mesh_setup(Scene_Data *data)
375static void 374static void
376_mesh_setup_model(Scene_Data *data) 375_mesh_setup_model(Scene_Data *data)
377{ 376{
378 data->mesh_model = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 377 eo_add(data->mesh_model, EVAS_CANVAS3D_MESH_CLASS, evas);
379 data->material_model = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 378 eo_add(data->material_model, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
380 data->texture_model = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 379 eo_add(data->texture_model, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
381 380
382 eo_do(data->texture_model, 381 eo_do(data->texture_model,
383 evas_canvas3d_texture_file_set(texture_path, NULL), 382 evas_canvas3d_texture_file_set(texture_path, NULL),
@@ -405,16 +404,16 @@ _mesh_setup_model(Scene_Data *data)
405static void 404static void
406_scene_setup(Scene_Data *data) 405_scene_setup(Scene_Data *data)
407{ 406{
408 data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 407 eo_add(data->scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
409 408
410 data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 409 eo_add(data->root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
411 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 410 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
412 411
413 _light_setup(data); 412 _light_setup(data);
414 _mesh_setup_model(data); 413 _mesh_setup_model(data);
415 _camera_setup(data); 414 _camera_setup(data);
416 415
417 data->mesh_node_model = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 416 eo_add(data->mesh_node_model, EVAS_CANVAS3D_NODE_CLASS, evas,
418 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 417 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
419 eo_do(data->mesh_node_model, 418 eo_do(data->mesh_node_model,
420 evas_canvas3d_node_position_set(obj_x, obj_y, obj_z), 419 evas_canvas3d_node_position_set(obj_x, obj_y, obj_z),
diff --git a/src/examples/evas/evas-3d-md2.c b/src/examples/evas/evas-3d-md2.c
index 9409efc5b7..95ec7fbbc1 100644
--- a/src/examples/evas/evas-3d-md2.c
+++ b/src/examples/evas/evas-3d-md2.c
@@ -91,19 +91,19 @@ main(void)
91 evas = ecore_evas_get(ecore_evas); 91 evas = ecore_evas_get(ecore_evas);
92 92
93 /* Add a scene object .*/ 93 /* Add a scene object .*/
94 scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 94 eo_add(scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
95 95
96 /* Add the root node for the scene. */ 96 /* Add the root node for the scene. */
97 root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 97 eo_addE(root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
98 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 98 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
99 99
100 /* Add the camera. */ 100 /* Add the camera. */
101 camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 101 eo_add(camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
102 eo_do(camera, 102 eo_do(camera,
103 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0)); 103 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0));
104 104
105 camera_node = 105
106 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 106 eo_add(camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
107 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 107 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
108 eo_do(camera_node, 108 eo_do(camera_node,
109 evas_canvas3d_node_camera_set(camera)); 109 evas_canvas3d_node_camera_set(camera));
@@ -114,15 +114,15 @@ main(void)
114 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 20.0, 114 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 20.0,
115 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0)); 115 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0));
116 /* Add the light. */ 116 /* Add the light. */
117 light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 117 eo_add(light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
118 eo_do(light, 118 eo_do(light,
119 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0), 119 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
120 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 120 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
121 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0), 121 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
122 evas_canvas3d_light_directional_set(EINA_TRUE)); 122 evas_canvas3d_light_directional_set(EINA_TRUE));
123 123
124 light_node = 124
125 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 125 eo_add(light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
126 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 126 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
127 eo_do(light_node, 127 eo_do(light_node,
128 evas_canvas3d_node_light_set(light), 128 evas_canvas3d_node_light_set(light),
@@ -133,15 +133,15 @@ main(void)
133 evas_canvas3d_node_member_add(light_node)); 133 evas_canvas3d_node_member_add(light_node));
134 134
135 /* Add the mesh. */ 135 /* Add the mesh. */
136 mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 136 eo_add(mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
137 material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 137 eo_add(material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
138 138
139 eo_do(mesh, 139 eo_do(mesh,
140 efl_file_set(model_path, NULL), 140 efl_file_set(model_path, NULL),
141 evas_canvas3d_mesh_frame_material_set(0, material), 141 evas_canvas3d_mesh_frame_material_set(0, material),
142 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG)); 142 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
143 143
144 texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 144 eo_add(texture, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
145 eo_do(texture, 145 eo_do(texture,
146 evas_canvas3d_texture_file_set(image_path, NULL), 146 evas_canvas3d_texture_file_set(image_path, NULL),
147 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, 147 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST,
@@ -162,7 +162,7 @@ main(void)
162 1.0, 1.0, 1.0, 1.0), 162 1.0, 1.0, 1.0, 1.0),
163 evas_canvas3d_material_shininess_set(50.0)); 163 evas_canvas3d_material_shininess_set(50.0));
164 164
165 mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 165 eo_add(mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
166 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 166 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
167 eo_do(root_node, 167 eo_do(root_node,
168 evas_canvas3d_node_member_add(mesh_node)); 168 evas_canvas3d_node_member_add(mesh_node));
@@ -176,7 +176,7 @@ main(void)
176 evas_canvas3d_scene_size_set(WIDTH, HEIGHT)); 176 evas_canvas3d_scene_size_set(WIDTH, HEIGHT));
177 177
178 /* Add a background rectangle objects. */ 178 /* Add a background rectangle objects. */
179 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 179 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
180 eo_do(background, 180 eo_do(background,
181 efl_gfx_color_set(0, 0, 0, 255), 181 efl_gfx_color_set(0, 0, 0, 255),
182 efl_gfx_size_set(WIDTH, HEIGHT), 182 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-mmap-set.c b/src/examples/evas/evas-3d-mmap-set.c
index 39f6d34a6b..fde77481d9 100644
--- a/src/examples/evas/evas-3d-mmap-set.c
+++ b/src/examples/evas/evas-3d-mmap-set.c
@@ -32,12 +32,12 @@
32#define LOAD_AND_ADD_MESH(extention, number) \ 32#define LOAD_AND_ADD_MESH(extention, number) \
33 snprintf(buffer, PATH_MAX, "%s%s", template_path, #extention); \ 33 snprintf(buffer, PATH_MAX, "%s%s", template_path, #extention); \
34 extention##_file = eina_file_open(buffer , 0); \ 34 extention##_file = eina_file_open(buffer , 0); \
35 mesh_##extention = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); \ 35 eo_add(mesh_##extention, EVAS_CANVAS3D_MESH_CLASS, evas); \
36 eo_do(mesh_##extention, \ 36 eo_do(mesh_##extention, \
37 efl_file_mmap_set(extention##_file, NULL), \ 37 efl_file_mmap_set(extention##_file, NULL), \
38 evas_canvas3d_mesh_frame_material_set(0, material), \ 38 evas_canvas3d_mesh_frame_material_set(0, material), \
39 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG)); \ 39 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG)); \
40 node_##extention = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, \ 40 eo_add(node_##extention, EVAS_CANVAS3D_NODE_CLASS, evas, \
41 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); \ 41 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); \
42 eo_do(root_node, evas_canvas3d_node_member_add(node_##extention)); \ 42 eo_do(root_node, evas_canvas3d_node_member_add(node_##extention)); \
43 eo_do(node_##extention, evas_canvas3d_node_mesh_add(mesh_##extention), \ 43 eo_do(node_##extention, evas_canvas3d_node_mesh_add(mesh_##extention), \
@@ -187,19 +187,19 @@ main(void)
187 evas = ecore_evas_get(ecore_evas); 187 evas = ecore_evas_get(ecore_evas);
188 188
189 /* Add a scene object .*/ 189 /* Add a scene object .*/
190 scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 190 eo_add(scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
191 191
192 /* Add the root node for the scene. */ 192 /* Add the root node for the scene. */
193 root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 193 eo_add(root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
194 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 194 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
195 195
196 /* Add the camera. */ 196 /* Add the camera. */
197 camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 197 eo_add(camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
198 eo_do(camera, 198 eo_do(camera,
199 evas_canvas3d_camera_projection_perspective_set(10.0, 1.0, 1.0, 500.0)); 199 evas_canvas3d_camera_projection_perspective_set(10.0, 1.0, 1.0, 500.0));
200 200
201 camera_node = 201
202 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 202 eo_add(camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
203 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 203 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
204 eo_do(camera_node, 204 eo_do(camera_node,
205 evas_canvas3d_node_camera_set(camera)); 205 evas_canvas3d_node_camera_set(camera));
@@ -210,15 +210,15 @@ main(void)
210 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, 210 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
211 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0)); 211 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
212 /* Add the light. */ 212 /* Add the light. */
213 light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 213 eo_add(light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
214 eo_do(light, 214 eo_do(light,
215 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0), 215 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
216 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 216 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
217 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0), 217 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
218 evas_canvas3d_light_directional_set(EINA_TRUE)); 218 evas_canvas3d_light_directional_set(EINA_TRUE));
219 219
220 light_node = 220
221 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 221 eo_add(light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
222 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 222 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
223 eo_do(light_node, 223 eo_do(light_node,
224 evas_canvas3d_node_light_set(light), 224 evas_canvas3d_node_light_set(light),
@@ -228,7 +228,7 @@ main(void)
228 eo_do(root_node, 228 eo_do(root_node,
229 evas_canvas3d_node_member_add(light_node)); 229 evas_canvas3d_node_member_add(light_node));
230 230
231 material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 231 eo_add(material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
232 232
233 eo_do(material, 233 eo_do(material,
234 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 234 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
@@ -256,7 +256,7 @@ main(void)
256 evas_canvas3d_scene_size_set(WIDTH, HEIGHT)); 256 evas_canvas3d_scene_size_set(WIDTH, HEIGHT));
257 257
258 /* Add a background rectangle objects. */ 258 /* Add a background rectangle objects. */
259 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 259 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
260 eo_do(background, 260 eo_do(background,
261 efl_gfx_color_set(20, 20, 200, 255), 261 efl_gfx_color_set(20, 20, 200, 255),
262 efl_gfx_size_set(WIDTH, HEIGHT), 262 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-obj.c b/src/examples/evas/evas-3d-obj.c
index 0d40a4125a..f6d65dfba2 100644
--- a/src/examples/evas/evas-3d-obj.c
+++ b/src/examples/evas/evas-3d-obj.c
@@ -44,13 +44,13 @@
44#define NUMBER_OF_MESHES 8 44#define NUMBER_OF_MESHES 8
45 45
46#define ADD_OBJ_MESH(path, Y, Z, num, shade_mode, name_of_material) \ 46#define ADD_OBJ_MESH(path, Y, Z, num, shade_mode, name_of_material) \
47 mesh[num] = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); \ 47 eo_add(mesh[num], EVAS_CANVAS3D_MESH_CLASS, evas); \
48 snprintf(full_file_path, PATH_MAX, "%s%s", path, ".obj"); \ 48 snprintf(full_file_path, PATH_MAX, "%s%s", path, ".obj"); \
49 eo_do(mesh[num], \ 49 eo_do(mesh[num], \
50 efl_file_set(full_file_path, NULL), \ 50 efl_file_set(full_file_path, NULL), \
51 evas_canvas3d_mesh_frame_material_set(0, name_of_material), \ 51 evas_canvas3d_mesh_frame_material_set(0, name_of_material), \
52 evas_canvas3d_mesh_shade_mode_set(shade_mode)); \ 52 evas_canvas3d_mesh_shade_mode_set(shade_mode)); \
53 mesh_node[num] = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, \ 53 eo_add(mesh_node[num], EVAS_CANVAS3D_NODE_CLASS, evas, \
54 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); \ 54 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); \
55 eo_do(root_node, \ 55 eo_do(root_node, \
56 evas_canvas3d_node_member_add(mesh_node[num])); \ 56 evas_canvas3d_node_member_add(mesh_node[num])); \
@@ -67,7 +67,7 @@
67 ADD_OBJ_MESH(buffer, Y + COPY_OFFSET, Z, num + 4, shade_mode, name_of_material) 67 ADD_OBJ_MESH(buffer, Y + COPY_OFFSET, Z, num + 4, shade_mode, name_of_material)
68 68
69#define ADD_TEXTURE(name, path) \ 69#define ADD_TEXTURE(name, path) \
70 name = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); \ 70 eo_add(name, EVAS_CANVAS3D_TEXTURE_CLASS, evas); \
71 eo_do(name, \ 71 eo_do(name, \
72 evas_canvas3d_texture_file_set(path, NULL), \ 72 evas_canvas3d_texture_file_set(path, NULL), \
73 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, \ 73 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, \
@@ -76,7 +76,7 @@
76 EVAS_CANVAS3D_WRAP_MODE_REPEAT)); 76 EVAS_CANVAS3D_WRAP_MODE_REPEAT));
77 77
78#define ADD_MATERIAL(name) \ 78#define ADD_MATERIAL(name) \
79 name = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); \ 79 eo_add(name, EVAS_CANVAS3D_MATERIAL_CLASS, evas); \
80 eo_do(name, \ 80 eo_do(name, \
81 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), \ 81 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), \
82 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE), \ 82 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE), \
@@ -164,19 +164,19 @@ main(void)
164 evas = ecore_evas_get(ecore_evas); 164 evas = ecore_evas_get(ecore_evas);
165 165
166 /* Add a scene object .*/ 166 /* Add a scene object .*/
167 scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 167 eo_add(scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
168 168
169 /* Add the root node for the scene. */ 169 /* Add the root node for the scene. */
170 root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 170 eo_add(root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
171 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 171 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
172 172
173 /* Add the camera. */ 173 /* Add the camera. */
174 camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 174 eo_add(camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
175 eo_do(camera, 175 eo_do(camera,
176 evas_canvas3d_camera_projection_perspective_set(20.0, 1.0, 1.0, 500.0)); 176 evas_canvas3d_camera_projection_perspective_set(20.0, 1.0, 1.0, 500.0));
177 177
178 camera_node = 178
179 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 179 eo_add(camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
180 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 180 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
181 eo_do(camera_node, 181 eo_do(camera_node,
182 evas_canvas3d_node_camera_set(camera)); 182 evas_canvas3d_node_camera_set(camera));
@@ -187,15 +187,15 @@ main(void)
187 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, 187 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
188 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0)); 188 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0));
189 /* Add the light. */ 189 /* Add the light. */
190 light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 190 eo_add(light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
191 eo_do(light, 191 eo_do(light,
192 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0), 192 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
193 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 193 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
194 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0), 194 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
195 evas_canvas3d_light_directional_set(EINA_TRUE)); 195 evas_canvas3d_light_directional_set(EINA_TRUE));
196 196
197 light_node = 197
198 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 198 eo_add(light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
199 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 199 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
200 eo_do(light_node, 200 eo_do(light_node,
201 evas_canvas3d_node_light_set(light), 201 evas_canvas3d_node_light_set(light),
@@ -233,7 +233,7 @@ main(void)
233 evas_canvas3d_scene_size_set(WIDTH, HEIGHT)); 233 evas_canvas3d_scene_size_set(WIDTH, HEIGHT));
234 234
235 /* Add a background rectangle MESHES. */ 235 /* Add a background rectangle MESHES. */
236 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 236 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
237 eo_do(background, 237 eo_do(background,
238 efl_gfx_color_set(0, 0, 0, 255), 238 efl_gfx_color_set(0, 0, 0, 255),
239 efl_gfx_size_set(WIDTH, HEIGHT), 239 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-parallax-occlusion.c b/src/examples/evas/evas-3d-parallax-occlusion.c
index fd1e8ce18b..eb35237420 100644
--- a/src/examples/evas/evas-3d-parallax-occlusion.c
+++ b/src/examples/evas/evas-3d-parallax-occlusion.c
@@ -105,12 +105,12 @@ _animate_scene(void *data)
105static void 105static void
106_camera_setup(Scene_Data *data) 106_camera_setup(Scene_Data *data)
107{ 107{
108 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 108 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
109 109
110 eo_do(data->camera, 110 eo_do(data->camera,
111 evas_canvas3d_camera_projection_perspective_set(30.0, 1.0, 2.0, 50.0)); 111 evas_canvas3d_camera_projection_perspective_set(30.0, 1.0, 2.0, 50.0));
112 112
113 data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 113 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
114 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 114 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
115 eo_do(data->camera_node, 115 eo_do(data->camera_node,
116 evas_canvas3d_node_camera_set(data->camera), 116 evas_canvas3d_node_camera_set(data->camera),
@@ -123,13 +123,13 @@ _camera_setup(Scene_Data *data)
123static void 123static void
124_light_setup(Scene_Data *data) 124_light_setup(Scene_Data *data)
125{ 125{
126 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 126 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
127 eo_do(data->light, 127 eo_do(data->light,
128 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0), 128 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
129 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 129 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
130 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 130 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
131 131
132 data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 132 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
133 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 133 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
134 eo_do(data->light_node, 134 eo_do(data->light_node,
135 evas_canvas3d_node_light_set(data->light), 135 evas_canvas3d_node_light_set(data->light),
@@ -143,10 +143,10 @@ static void
143_mesh_setup(Scene_Data *data) 143_mesh_setup(Scene_Data *data)
144{ 144{
145 /* Setup material. */ 145 /* Setup material. */
146 data->material_rocks = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 146 eo_add(data->material_rocks, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
147 147
148 data->texture_rocks = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 148 eo_add(data->texture_rocks, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
149 data->texture_rocks_n = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 149 eo_add(data->texture_rocks_n, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
150 eo_do(data->texture_rocks, evas_canvas3d_texture_file_set(rock_diffuse, NULL), 150 eo_do(data->texture_rocks, evas_canvas3d_texture_file_set(rock_diffuse, NULL),
151 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT, 151 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT,
152 EVAS_CANVAS3D_WRAP_MODE_REPEAT)); 152 EVAS_CANVAS3D_WRAP_MODE_REPEAT));
@@ -169,10 +169,10 @@ _mesh_setup(Scene_Data *data)
169 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0), 169 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0),
170 evas_canvas3d_material_shininess_set(100.0)); 170 evas_canvas3d_material_shininess_set(100.0));
171 171
172 data->material_wood = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 172 eo_add(data->material_wood, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
173 173
174 data->texture_wood = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 174 eo_add(data->texture_wood, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
175 data->texture_four_n = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 175 eo_add(data->texture_four_n, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
176 eo_do(data->texture_wood, evas_canvas3d_texture_file_set(wood_diffuse, NULL), 176 eo_do(data->texture_wood, evas_canvas3d_texture_file_set(wood_diffuse, NULL),
177 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT, 177 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT,
178 EVAS_CANVAS3D_WRAP_MODE_REPEAT)); 178 EVAS_CANVAS3D_WRAP_MODE_REPEAT));
@@ -196,12 +196,12 @@ _mesh_setup(Scene_Data *data)
196 evas_canvas3d_material_shininess_set(100.0)); 196 evas_canvas3d_material_shininess_set(100.0));
197 197
198 /* Set data of primitive */ 198 /* Set data of primitive */
199 data->cube = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 199 eo_add(data->cube, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
200 eo_do(data->cube, 200 eo_do(data->cube,
201 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE)); 201 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE));
202 202
203 /* Setup mesh. */ 203 /* Setup mesh. */
204 data->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 204 eo_add(data->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
205 eo_do(data->mesh, 205 eo_do(data->mesh,
206 evas_canvas3d_mesh_from_primitive_set(0, data->cube), 206 evas_canvas3d_mesh_from_primitive_set(0, data->cube),
207 evas_canvas3d_mesh_from_primitive_set(100, data->cube), 207 evas_canvas3d_mesh_from_primitive_set(100, data->cube),
@@ -211,7 +211,7 @@ _mesh_setup(Scene_Data *data)
211 eo_do(data->mesh, 211 eo_do(data->mesh,
212 evas_canvas3d_mesh_frame_material_set(100, data->material_wood)); 212 evas_canvas3d_mesh_frame_material_set(100, data->material_wood));
213 213
214 data->mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 214 eo_add(data->mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
215 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 215 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
216 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node)); 216 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node));
217 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh), 217 eo_do(data->mesh_node, evas_canvas3d_node_mesh_add(data->mesh),
@@ -221,12 +221,12 @@ _mesh_setup(Scene_Data *data)
221static void 221static void
222_scene_setup(Scene_Data *data) 222_scene_setup(Scene_Data *data)
223{ 223{
224 data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 224 eo_add(data->scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
225 eo_do(data->scene, 225 eo_do(data->scene,
226 evas_canvas3d_scene_size_set(WIDTH, HEIGHT); 226 evas_canvas3d_scene_size_set(WIDTH, HEIGHT);
227 evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0)); 227 evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
228 228
229 data->root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 229 eo_add(data->root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
230 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 230 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
231 231
232 _camera_setup(data); 232 _camera_setup(data);
@@ -261,7 +261,7 @@ main(void)
261 _scene_setup(&data); 261 _scene_setup(&data);
262 262
263 /* Add a background rectangle objects. */ 263 /* Add a background rectangle objects. */
264 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 264 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
265 eo_do(background, 265 eo_do(background,
266 efl_gfx_color_set(0, 0, 0, 255), 266 efl_gfx_color_set(0, 0, 0, 255),
267 efl_gfx_size_set(WIDTH, HEIGHT), 267 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-pick.c b/src/examples/evas/evas-3d-pick.c
index db8389ae36..9836100037 100644
--- a/src/examples/evas/evas-3d-pick.c
+++ b/src/examples/evas/evas-3d-pick.c
@@ -133,19 +133,19 @@ main(void)
133 evas = ecore_evas_get(ecore_evas); 133 evas = ecore_evas_get(ecore_evas);
134 134
135 /* Add a scene object .*/ 135 /* Add a scene object .*/
136 scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 136 eo_add(scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
137 137
138 /* Add the root node for the scene. */ 138 /* Add the root node for the scene. */
139 root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 139 eo_add(root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
140 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 140 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
141 141
142 /* Add the camera. */ 142 /* Add the camera. */
143 camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 143 eo_add(camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
144 eo_do(camera, 144 eo_do(camera,
145 evas_canvas3d_camera_projection_perspective_set(30.0, 1.0, 1.0, 100.0)); 145 evas_canvas3d_camera_projection_perspective_set(30.0, 1.0, 1.0, 100.0));
146 146
147 camera_node = 147
148 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 148 eo_add(camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
149 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 149 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
150 eo_do(camera_node, 150 eo_do(camera_node,
151 evas_canvas3d_node_camera_set(camera), 151 evas_canvas3d_node_camera_set(camera),
@@ -154,17 +154,17 @@ main(void)
154 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0)); 154 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 1.0, 0.0));
155 eo_do(root_node, evas_canvas3d_node_member_add(camera_node)); 155 eo_do(root_node, evas_canvas3d_node_member_add(camera_node));
156 156
157 sphere = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 157 eo_add(sphere, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
158 eo_do(sphere, 158 eo_do(sphere,
159 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE), 159 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE),
160 evas_canvas3d_primitive_precision_set(50)); 160 evas_canvas3d_primitive_precision_set(50));
161 161
162 mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 162 eo_add(mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
163 eo_do(mesh, evas_canvas3d_mesh_from_primitive_set(0, sphere)); 163 eo_do(mesh, evas_canvas3d_mesh_from_primitive_set(0, sphere));
164 164
165 material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 165 eo_add(material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
166 166
167 texture_diffuse = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 167 eo_add(texture_diffuse, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
168 eo_do(texture_diffuse, 168 eo_do(texture_diffuse,
169 evas_canvas3d_texture_file_set(image_path, NULL), 169 evas_canvas3d_texture_file_set(image_path, NULL),
170 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR, 170 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR,
@@ -184,7 +184,7 @@ main(void)
184 1.0), 184 1.0),
185 evas_canvas3d_material_shininess_set(50.0)); 185 evas_canvas3d_material_shininess_set(50.0));
186 186
187 mesh_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 187 eo_add(mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
188 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 188 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
189 189
190 eo_do(root_node, evas_canvas3d_node_member_add(mesh_node)); 190 eo_do(root_node, evas_canvas3d_node_member_add(mesh_node));
@@ -199,7 +199,7 @@ main(void)
199 evas_canvas3d_scene_size_set(WIDTH, HEIGHT)); 199 evas_canvas3d_scene_size_set(WIDTH, HEIGHT));
200 200
201 /* Add evas objects. */ 201 /* Add evas objects. */
202 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 202 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
203 eo_do(background, 203 eo_do(background,
204 efl_gfx_color_set(0, 0, 0, 255), 204 efl_gfx_color_set(0, 0, 0, 255),
205 efl_gfx_size_set(WIDTH, HEIGHT), 205 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-ply.c b/src/examples/evas/evas-3d-ply.c
index 10881aa731..6781c9af66 100644
--- a/src/examples/evas/evas-3d-ply.c
+++ b/src/examples/evas/evas-3d-ply.c
@@ -123,18 +123,18 @@ main(void)
123 evas = ecore_evas_get(ecore_evas); 123 evas = ecore_evas_get(ecore_evas);
124 124
125 /* Add a scene object .*/ 125 /* Add a scene object .*/
126 scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 126 eo_add(scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
127 127
128 /* Add the root node for the scene. */ 128 /* Add the root node for the scene. */
129 root_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 129 eo_add(root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
130 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 130 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
131 131
132 /* Add the camera. */ 132 /* Add the camera. */
133 camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 133 eo_add(camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
134 eo_do(camera, 134 eo_do(camera,
135 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0)); 135 evas_canvas3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0));
136 136
137 camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 137 eo_add(camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
138 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 138 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
139 eo_do(camera_node, 139 eo_do(camera_node,
140 evas_canvas3d_node_camera_set(camera)); 140 evas_canvas3d_node_camera_set(camera));
@@ -145,14 +145,14 @@ main(void)
145 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0, 145 evas_canvas3d_node_look_at_set(EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 0.0,
146 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0)); 146 EVAS_CANVAS3D_SPACE_PARENT, 0.0, 0.0, 1.0));
147 /* Add the light. */ 147 /* Add the light. */
148 light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 148 eo_add(light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
149 eo_do(light, 149 eo_do(light,
150 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0), 150 evas_canvas3d_light_ambient_set(1.0, 1.0, 1.0, 1.0),
151 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 151 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
152 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0), 152 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
153 evas_canvas3d_light_directional_set(EINA_TRUE)); 153 evas_canvas3d_light_directional_set(EINA_TRUE));
154 154
155 light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 155 eo_add(light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
156 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 156 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
157 eo_do(light_node, 157 eo_do(light_node,
158 evas_canvas3d_node_light_set(light), 158 evas_canvas3d_node_light_set(light),
@@ -162,8 +162,8 @@ main(void)
162 eo_do(root_node, 162 eo_do(root_node,
163 evas_canvas3d_node_member_add(light_node)); 163 evas_canvas3d_node_member_add(light_node));
164 164
165 material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 165 eo_add(material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
166 texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 166 eo_add(texture, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
167 eo_do(texture, 167 eo_do(texture,
168 evas_canvas3d_texture_file_set(image_path, NULL), 168 evas_canvas3d_texture_file_set(image_path, NULL),
169 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, 169 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST,
@@ -191,7 +191,7 @@ main(void)
191 /* Add the meshes. */ 191 /* Add the meshes. */
192 for (i = 0; i < NUMBER_OF_MESHES; i++) 192 for (i = 0; i < NUMBER_OF_MESHES; i++)
193 { 193 {
194 mesh[i] = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 194 eo_add(mesh[i], EVAS_CANVAS3D_MESH_CLASS, evas);
195 195
196 snprintf(buffer, PATH_MAX, "%s%s", input_template, file_name[i % 8]); 196 snprintf(buffer, PATH_MAX, "%s%s", input_template, file_name[i % 8]);
197 eo_do(mesh[i], 197 eo_do(mesh[i],
@@ -210,7 +210,7 @@ main(void)
210 evas_canvas3d_mesh_shade_mode_set(draw_mode[(i % 16) / 8])); 210 evas_canvas3d_mesh_shade_mode_set(draw_mode[(i % 16) / 8]));
211 } 211 }
212 212
213 mesh_node[i] = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 213 eo_add(mesh_node[i], EVAS_CANVAS3D_NODE_CLASS, evas,
214 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 214 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
215 eo_do(root_node, evas_canvas3d_node_member_add(mesh_node[i])); 215 eo_do(root_node, evas_canvas3d_node_member_add(mesh_node[i]));
216 eo_do(mesh_node[i], 216 eo_do(mesh_node[i],
@@ -225,7 +225,7 @@ main(void)
225 evas_canvas3d_scene_size_set(WIDTH, HEIGHT)); 225 evas_canvas3d_scene_size_set(WIDTH, HEIGHT));
226 226
227 /* Add a background rectangle objects. */ 227 /* Add a background rectangle objects. */
228 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 228 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
229 eo_do(background, 229 eo_do(background,
230 efl_gfx_color_set(100, 100, 100, 255), 230 efl_gfx_color_set(100, 100, 100, 255),
231 efl_gfx_size_set(WIDTH, HEIGHT), 231 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-proxy.c b/src/examples/evas/evas-3d-proxy.c
index 48d85e474d..f2e380c8a0 100644
--- a/src/examples/evas/evas-3d-proxy.c
+++ b/src/examples/evas/evas-3d-proxy.c
@@ -100,12 +100,12 @@ _animate_scene(void *data)
100static void 100static void
101_camera_setup(Scene_Data *data) 101_camera_setup(Scene_Data *data)
102{ 102{
103 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 103 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
104 eo_do(data->camera, 104 eo_do(data->camera,
105 evas_canvas3d_camera_projection_perspective_set(30.0, 1.0, 2.0, 50.0)); 105 evas_canvas3d_camera_projection_perspective_set(30.0, 1.0, 2.0, 50.0));
106 106
107 data->camera_node = 107
108 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 108 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
109 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 109 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
110 eo_do(data->camera_node, 110 eo_do(data->camera_node,
111 evas_canvas3d_node_camera_set(data->camera), 111 evas_canvas3d_node_camera_set(data->camera),
@@ -119,14 +119,14 @@ _camera_setup(Scene_Data *data)
119static void 119static void
120_light_setup(Scene_Data *data) 120_light_setup(Scene_Data *data)
121{ 121{
122 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 122 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
123 eo_do(data->light, 123 eo_do(data->light,
124 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0), 124 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
125 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0), 125 evas_canvas3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
126 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0)); 126 evas_canvas3d_light_specular_set(1.0, 1.0, 1.0, 1.0));
127 127
128 data->light_node = 128
129 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 129 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
130 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 130 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
131 eo_do(data->light_node, 131 eo_do(data->light_node,
132 evas_canvas3d_node_light_set(data->light), 132 evas_canvas3d_node_light_set(data->light),
@@ -140,8 +140,8 @@ static void
140_mesh_setup(Scene_Data *data) 140_mesh_setup(Scene_Data *data)
141{ 141{
142 /* Setup material. */ 142 /* Setup material. */
143 data->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 143 eo_add(data->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
144 data->texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 144 eo_add(data->texture, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
145 145
146 eo_do(data->texture, 146 eo_do(data->texture,
147 evas_canvas3d_texture_source_set(source), 147 evas_canvas3d_texture_source_set(source),
@@ -160,19 +160,19 @@ _mesh_setup(Scene_Data *data)
160 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, data->texture)); 160 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, data->texture));
161 161
162 /* Set data of primitive */ 162 /* Set data of primitive */
163 data->cube = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 163 eo_add(data->cube, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
164 eo_do(data->cube, 164 eo_do(data->cube,
165 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE)); 165 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE));
166 166
167 /* Setup mesh. */ 167 /* Setup mesh. */
168 data->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 168 eo_add(data->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
169 eo_do(data->mesh, 169 eo_do(data->mesh,
170 evas_canvas3d_mesh_from_primitive_set(0, data->cube), 170 evas_canvas3d_mesh_from_primitive_set(0, data->cube),
171 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_FLAT), 171 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_FLAT),
172 evas_canvas3d_mesh_frame_material_set(0, data->material)); 172 evas_canvas3d_mesh_frame_material_set(0, data->material));
173 173
174 data->mesh_node = 174
175 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 175 eo_add(data->mesh_node, EVAS_CANVAS3D_NODE_CLASS, evas,
176 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 176 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
177 177
178 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node)); 178 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mesh_node));
@@ -182,13 +182,13 @@ _mesh_setup(Scene_Data *data)
182static void 182static void
183_scene_setup(Scene_Data *data) 183_scene_setup(Scene_Data *data)
184{ 184{
185 data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 185 eo_add(data->scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
186 eo_do(data->scene, 186 eo_do(data->scene,
187 evas_canvas3d_scene_size_set(WIDTH, HEIGHT), 187 evas_canvas3d_scene_size_set(WIDTH, HEIGHT),
188 evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0)); 188 evas_canvas3d_scene_background_color_set(0.0, 0.0, 0.0, 0.0));
189 189
190 data->root_node = 190
191 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 191 eo_add(data->root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
192 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 192 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
193 193
194 _camera_setup(data); 194 _camera_setup(data);
@@ -221,7 +221,7 @@ main(void)
221 evas = ecore_evas_get(ecore_evas); 221 evas = ecore_evas_get(ecore_evas);
222 222
223 /* Add a background rectangle objects. */ 223 /* Add a background rectangle objects. */
224 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 224 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
225 eo_do(background, 225 eo_do(background,
226 efl_gfx_color_set(0, 0, 0, 255), 226 efl_gfx_color_set(0, 0, 0, 255),
227 efl_gfx_size_set(WIDTH, HEIGHT), 227 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-3d-shadows.c b/src/examples/evas/evas-3d-shadows.c
index 179d1825cd..f0da2f2039 100644
--- a/src/examples/evas/evas-3d-shadows.c
+++ b/src/examples/evas/evas-3d-shadows.c
@@ -179,7 +179,7 @@ _on_canvas_resize(Ecore_Evas *ee)
179static void 179static void
180_body_material_set(Body_3D *body, float r, float g, float b) 180_body_material_set(Body_3D *body, float r, float g, float b)
181{ 181{
182 body->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 182 eo_add(body->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
183 183
184 eo_do(body->material, 184 eo_do(body->material,
185 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE), 185 evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
@@ -199,18 +199,18 @@ _body_material_set(Body_3D *body, float r, float g, float b)
199static void 199static void
200_sphere_setup(Body_3D *sphere) 200_sphere_setup(Body_3D *sphere)
201{ 201{
202 sphere->primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 202 eo_add(sphere->primitive, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
203 eo_do(sphere->primitive, 203 eo_do(sphere->primitive,
204 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE), 204 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE),
205 evas_canvas3d_primitive_precision_set(50)); 205 evas_canvas3d_primitive_precision_set(50));
206 206
207 sphere->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 207 eo_add(sphere->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
208 eo_do(sphere->mesh, 208 eo_do(sphere->mesh,
209 evas_canvas3d_mesh_from_primitive_set(0, sphere->primitive)); 209 evas_canvas3d_mesh_from_primitive_set(0, sphere->primitive));
210 210
211 _body_material_set(sphere, 1, 0.0, 0.0); 211 _body_material_set(sphere, 1, 0.0, 0.0);
212 212
213 sphere->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 213 eo_add(sphere->node, EVAS_CANVAS3D_NODE_CLASS, evas,
214 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH), 214 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH),
215 evas_canvas3d_node_position_set(3.0, 3.0, 0.0)); 215 evas_canvas3d_node_position_set(3.0, 3.0, 0.0));
216 eo_do(sphere->node, evas_canvas3d_node_mesh_add(sphere->mesh)); 216 eo_do(sphere->node, evas_canvas3d_node_mesh_add(sphere->mesh));
@@ -219,19 +219,19 @@ _sphere_setup(Body_3D *sphere)
219static void 219static void
220_cone_setup(Body_3D *cone) 220_cone_setup(Body_3D *cone)
221{ 221{
222 cone->primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 222 eo_add(cone->primitive, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
223 eo_do(cone->primitive, 223 eo_do(cone->primitive,
224 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CONE), 224 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CONE),
225 evas_canvas3d_primitive_precision_set(50)); 225 evas_canvas3d_primitive_precision_set(50));
226 226
227 cone->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 227 eo_add(cone->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
228 eo_do(cone->mesh, 228 eo_do(cone->mesh,
229 evas_canvas3d_mesh_from_primitive_set(0, cone->primitive)); 229 evas_canvas3d_mesh_from_primitive_set(0, cone->primitive));
230 230
231 _body_material_set(cone, 0.8, 0.5, 0.5); 231 _body_material_set(cone, 0.8, 0.5, 0.5);
232 232
233 cone->node = 233
234 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 234 eo_add(cone->node, EVAS_CANVAS3D_NODE_CLASS, evas,
235 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 235 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
236 eo_do(cone->node, evas_canvas3d_node_mesh_add(cone->mesh), 236 eo_do(cone->node, evas_canvas3d_node_mesh_add(cone->mesh),
237 evas_canvas3d_node_orientation_angle_axis_set(-90.0, 1.0, 0.0, 0.0), 237 evas_canvas3d_node_orientation_angle_axis_set(-90.0, 1.0, 0.0, 0.0),
@@ -241,19 +241,19 @@ _cone_setup(Body_3D *cone)
241static void 241static void
242_cylinder_setup(Body_3D *cylinder) 242_cylinder_setup(Body_3D *cylinder)
243{ 243{
244 cylinder->primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 244 eo_add(cylinder->primitive, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
245 eo_do(cylinder->primitive, 245 eo_do(cylinder->primitive,
246 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CYLINDER), 246 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CYLINDER),
247 evas_canvas3d_primitive_precision_set(50)); 247 evas_canvas3d_primitive_precision_set(50));
248 248
249 cylinder->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 249 eo_add(cylinder->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
250 eo_do(cylinder->mesh, 250 eo_do(cylinder->mesh,
251 evas_canvas3d_mesh_from_primitive_set(0, cylinder->primitive)); 251 evas_canvas3d_mesh_from_primitive_set(0, cylinder->primitive));
252 252
253 _body_material_set(cylinder, 0.0, 0.0, 1.0); 253 _body_material_set(cylinder, 0.0, 0.0, 1.0);
254 254
255 cylinder->node = 255
256 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 256 eo_add(cylinder->node, EVAS_CANVAS3D_NODE_CLASS, evas,
257 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 257 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
258 eo_do(cylinder->node, evas_canvas3d_node_mesh_add(cylinder->mesh), 258 eo_do(cylinder->node, evas_canvas3d_node_mesh_add(cylinder->mesh),
259 evas_canvas3d_node_orientation_angle_axis_set(-90.0, 1.0, 0.0, 0.0), 259 evas_canvas3d_node_orientation_angle_axis_set(-90.0, 1.0, 0.0, 0.0),
@@ -264,7 +264,8 @@ static void
264_fence_setup(Body_3D *fence) 264_fence_setup(Body_3D *fence)
265{ 265{
266 266
267 Eo *texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 267 Eo *texture;
268 eo_add(texture, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
268 eo_do(texture, evas_canvas3d_texture_atlas_enable_set(EINA_FALSE)); 269 eo_do(texture, evas_canvas3d_texture_atlas_enable_set(EINA_FALSE));
269 eo_do(texture, 270 eo_do(texture,
270 evas_canvas3d_texture_file_set(PACKAGE_EXAMPLES_DIR EVAS_IMAGE_FOLDER "/grid.png", NULL), 271 evas_canvas3d_texture_file_set(PACKAGE_EXAMPLES_DIR EVAS_IMAGE_FOLDER "/grid.png", NULL),
@@ -272,7 +273,8 @@ _fence_setup(Body_3D *fence)
272 EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST), 273 EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST),
273 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT, 274 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT,
274 EVAS_CANVAS3D_WRAP_MODE_REPEAT)); 275 EVAS_CANVAS3D_WRAP_MODE_REPEAT));
275 Eo *texture1 = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 276 Eo *texture1;
277 eo_add(texture1, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
276 eo_do(texture1, evas_canvas3d_texture_atlas_enable_set(EINA_FALSE)); 278 eo_do(texture1, evas_canvas3d_texture_atlas_enable_set(EINA_FALSE));
277 eo_do(texture1, 279 eo_do(texture1,
278 evas_canvas3d_texture_file_set(PACKAGE_EXAMPLES_DIR EVAS_IMAGE_FOLDER "/grid_n.png", NULL), 280 evas_canvas3d_texture_file_set(PACKAGE_EXAMPLES_DIR EVAS_IMAGE_FOLDER "/grid_n.png", NULL),
@@ -280,7 +282,7 @@ _fence_setup(Body_3D *fence)
280 EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST), 282 EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST),
281 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT, 283 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT,
282 EVAS_CANVAS3D_WRAP_MODE_REPEAT)); 284 EVAS_CANVAS3D_WRAP_MODE_REPEAT));
283 fence->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 285 eo_add(fence->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
284 286
285 eo_do(fence->material, 287 eo_do(fence->material,
286 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, texture), 288 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, texture),
@@ -295,14 +297,14 @@ _fence_setup(Body_3D *fence)
295 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0), 297 evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, 1.0, 1.0, 1.0, 1.0),
296 evas_canvas3d_material_shininess_set(100.0)); 298 evas_canvas3d_material_shininess_set(100.0));
297 299
298 fence->primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 300 eo_add(fence->primitive, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
299 eo_do(fence->primitive, 301 eo_do(fence->primitive,
300 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CYLINDER), 302 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CYLINDER),
301 evas_canvas3d_primitive_mode_set(EVAS_CANVAS3D_PRIMITIVE_MODE_WITHOUT_BASE), 303 evas_canvas3d_primitive_mode_set(EVAS_CANVAS3D_PRIMITIVE_MODE_WITHOUT_BASE),
302 evas_canvas3d_primitive_tex_scale_set(160.0, 12.0), 304 evas_canvas3d_primitive_tex_scale_set(160.0, 12.0),
303 evas_canvas3d_primitive_precision_set(50)); 305 evas_canvas3d_primitive_precision_set(50));
304 306
305 fence->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 307 eo_add(fence->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
306 eo_do(fence->mesh, 308 eo_do(fence->mesh,
307 evas_canvas3d_mesh_from_primitive_set(0, fence->primitive)); 309 evas_canvas3d_mesh_from_primitive_set(0, fence->primitive));
308 310
@@ -311,8 +313,8 @@ _fence_setup(Body_3D *fence)
311 evas_canvas3d_mesh_alpha_func_set(EVAS_CANVAS3D_COMPARISON_GREATER, 0), 313 evas_canvas3d_mesh_alpha_func_set(EVAS_CANVAS3D_COMPARISON_GREATER, 0),
312 evas_canvas3d_mesh_alpha_test_enable_set(EINA_TRUE), 314 evas_canvas3d_mesh_alpha_test_enable_set(EINA_TRUE),
313 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_NORMAL_MAP)); 315 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_NORMAL_MAP));
314 fence->node = 316
315 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 317 eo_add(fence->node, EVAS_CANVAS3D_NODE_CLASS, evas,
316 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 318 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
317 eo_do(fence->node, evas_canvas3d_node_mesh_add(fence->mesh), 319 eo_do(fence->node, evas_canvas3d_node_mesh_add(fence->mesh),
318 evas_canvas3d_node_orientation_angle_axis_set(-90.0, 1.0, 0.0, 0.0), 320 evas_canvas3d_node_orientation_angle_axis_set(-90.0, 1.0, 0.0, 0.0),
@@ -323,18 +325,18 @@ _fence_setup(Body_3D *fence)
323static void 325static void
324_square_setup(Body_3D *square) 326_square_setup(Body_3D *square)
325{ 327{
326 square->primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 328 eo_add(square->primitive, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
327 eo_do(square->primitive, 329 eo_do(square->primitive,
328 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SQUARE)); 330 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SQUARE));
329 331
330 square->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 332 eo_add(square->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
331 eo_do(square->mesh, 333 eo_do(square->mesh,
332 evas_canvas3d_mesh_from_primitive_set(0, square->primitive)); 334 evas_canvas3d_mesh_from_primitive_set(0, square->primitive));
333 335
334 _body_material_set(square, 0.4, 0.4, 0.4); 336 _body_material_set(square, 0.4, 0.4, 0.4);
335 337
336 square->node = 338
337 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 339 eo_add(square->node, EVAS_CANVAS3D_NODE_CLASS, evas,
338 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 340 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
339 eo_do(square->node, evas_canvas3d_node_mesh_add(square->mesh), 341 eo_do(square->node, evas_canvas3d_node_mesh_add(square->mesh),
340 evas_canvas3d_node_position_set(0.0, -1.0, 0.0), 342 evas_canvas3d_node_position_set(0.0, -1.0, 0.0),
@@ -345,17 +347,17 @@ _square_setup(Body_3D *square)
345static void 347static void
346_box_setup(Body_3D *box) 348_box_setup(Body_3D *box)
347{ 349{
348 box->primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 350 eo_add(box->primitive, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
349 eo_do(box->primitive, 351 eo_do(box->primitive,
350 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE)); 352 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE));
351 353
352 box->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 354 eo_add(box->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
353 eo_do(box->mesh, 355 eo_do(box->mesh,
354 evas_canvas3d_mesh_from_primitive_set(0, box->primitive)); 356 evas_canvas3d_mesh_from_primitive_set(0, box->primitive));
355 357
356 _body_material_set(box, 0, 1, 0); 358 _body_material_set(box, 0, 1, 0);
357 359
358 box->node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 360 eo_add(box->node, EVAS_CANVAS3D_NODE_CLASS, evas,
359 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 361 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
360 eo_do(box->node, evas_canvas3d_node_mesh_add(box->mesh), 362 eo_do(box->node, evas_canvas3d_node_mesh_add(box->mesh),
361 evas_canvas3d_node_position_set(3.0, 0.0, -3.0)); 363 evas_canvas3d_node_position_set(3.0, 0.0, -3.0));
@@ -364,14 +366,14 @@ _box_setup(Body_3D *box)
364static void 366static void
365_model_setup(Body_3D *model) 367_model_setup(Body_3D *model)
366{ 368{
367 model->texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 369 eo_add(model->texture, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
368 eo_do(model->texture, 370 eo_do(model->texture,
369 evas_canvas3d_texture_file_set(image_path, NULL), 371 evas_canvas3d_texture_file_set(image_path, NULL),
370 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, 372 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST,
371 EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST), 373 EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST),
372 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT, 374 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT,
373 EVAS_CANVAS3D_WRAP_MODE_REPEAT)); 375 EVAS_CANVAS3D_WRAP_MODE_REPEAT));
374 model->material = eo_add(EVAS_CANVAS3D_MATERIAL_CLASS, evas); 376 eo_add(model->material, EVAS_CANVAS3D_MATERIAL_CLASS, evas);
375 377
376 eo_do(model->material, 378 eo_do(model->material,
377 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, model->texture), 379 evas_canvas3d_material_texture_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, model->texture),
@@ -382,14 +384,14 @@ _model_setup(Body_3D *model)
382 evas_canvas3d_material_shininess_set(100.0)); 384 evas_canvas3d_material_shininess_set(100.0));
383 385
384 386
385 model->mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 387 eo_add(model->mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
386 eo_do(model->mesh, 388 eo_do(model->mesh,
387 efl_file_set(model_path, NULL), 389 efl_file_set(model_path, NULL),
388 evas_canvas3d_mesh_frame_material_set(0, model->material), 390 evas_canvas3d_mesh_frame_material_set(0, model->material),
389 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG)); 391 evas_canvas3d_mesh_shade_mode_set(EVAS_CANVAS3D_SHADE_MODE_PHONG));
390 392
391 model->node = 393
392 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 394 eo_add(model->node, EVAS_CANVAS3D_NODE_CLASS, evas,
393 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 395 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
394 eo_do(model->node, evas_canvas3d_node_mesh_add(model->mesh), 396 eo_do(model->node, evas_canvas3d_node_mesh_add(model->mesh),
395 evas_canvas3d_node_scale_set(0.1, 0.1, 0.1), 397 evas_canvas3d_node_scale_set(0.1, 0.1, 0.1),
@@ -399,7 +401,7 @@ _model_setup(Body_3D *model)
399static void 401static void
400_billboard_setup(Scene_Data *data) 402_billboard_setup(Scene_Data *data)
401{ 403{
402 data->billboard.texture = eo_add(EVAS_CANVAS3D_TEXTURE_CLASS, evas); 404 eo_add(data->billboard.texture, EVAS_CANVAS3D_TEXTURE_CLASS, evas);
403 eo_do(data->billboard.texture, 405 eo_do(data->billboard.texture,
404 evas_canvas3d_texture_file_set(b_image_path, NULL), 406 evas_canvas3d_texture_file_set(b_image_path, NULL),
405 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST, 407 evas_canvas3d_texture_filter_set(EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST,
@@ -407,11 +409,11 @@ _billboard_setup(Scene_Data *data)
407 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT, 409 evas_canvas3d_texture_wrap_set(EVAS_CANVAS3D_WRAP_MODE_REPEAT,
408 EVAS_CANVAS3D_WRAP_MODE_REPEAT)); 410 EVAS_CANVAS3D_WRAP_MODE_REPEAT));
409 411
410 data->billboard.primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, evas); 412 eo_add(data->billboard.primitive, EVAS_CANVAS3D_PRIMITIVE_CLASS, evas);
411 eo_do(data->billboard.primitive, 413 eo_do(data->billboard.primitive,
412 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SQUARE)); 414 evas_canvas3d_primitive_form_set(EVAS_CANVAS3D_MESH_PRIMITIVE_SQUARE));
413 415
414 data->billboard.mesh = eo_add(EVAS_CANVAS3D_MESH_CLASS, evas); 416 eo_add(data->billboard.mesh, EVAS_CANVAS3D_MESH_CLASS, evas);
415 eo_do(data->billboard.mesh, 417 eo_do(data->billboard.mesh,
416 evas_canvas3d_mesh_from_primitive_set(0, data->billboard.primitive)); 418 evas_canvas3d_mesh_from_primitive_set(0, data->billboard.primitive));
417 419
@@ -429,7 +431,7 @@ _billboard_setup(Scene_Data *data)
429 evas_canvas3d_mesh_blending_func_set(EVAS_CANVAS3D_BLEND_FUNC_SRC_ALPHA, 431 evas_canvas3d_mesh_blending_func_set(EVAS_CANVAS3D_BLEND_FUNC_SRC_ALPHA,
430 EVAS_CANVAS3D_BLEND_FUNC_ONE_MINUS_SRC_ALPHA)); 432 EVAS_CANVAS3D_BLEND_FUNC_ONE_MINUS_SRC_ALPHA));
431 433
432 data->billboard.node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 434 eo_add(data->billboard.node, EVAS_CANVAS3D_NODE_CLASS, evas,
433 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH)); 435 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_MESH));
434 eo_do(data->billboard.node, 436 eo_do(data->billboard.node,
435 evas_canvas3d_node_mesh_add(data->billboard.mesh), 437 evas_canvas3d_node_mesh_add(data->billboard.mesh),
@@ -443,15 +445,15 @@ _billboard_setup(Scene_Data *data)
443static void 445static void
444_camera_setup(Scene_Data *data) 446_camera_setup(Scene_Data *data)
445{ 447{
446 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 448 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
447 data->mediator = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 449 eo_add(data->mediator, EVAS_CANVAS3D_NODE_CLASS, evas,
448 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 450 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
449 451
450 eo_do(data->camera, 452 eo_do(data->camera,
451 evas_canvas3d_camera_projection_perspective_set(50.0, 1.0, 2.0, 100.0)); 453 evas_canvas3d_camera_projection_perspective_set(50.0, 1.0, 2.0, 100.0));
452 454
453 data->camera_node = 455
454 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 456 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
455 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 457 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
456 458
457 eo_do(data->camera_node, 459 eo_do(data->camera_node,
@@ -470,7 +472,7 @@ _camera_setup(Scene_Data *data)
470static void 472static void
471_light_setup(Scene_Data *data) 473_light_setup(Scene_Data *data)
472{ 474{
473 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 475 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
474 eo_do(data->light, 476 eo_do(data->light,
475 evas_canvas3d_light_ambient_set(AMBIENT_LIGHT, 1.0), 477 evas_canvas3d_light_ambient_set(AMBIENT_LIGHT, 1.0),
476 evas_canvas3d_light_diffuse_set(DIFFUSE_LIGHT, 1.0), 478 evas_canvas3d_light_diffuse_set(DIFFUSE_LIGHT, 1.0),
@@ -478,8 +480,8 @@ _light_setup(Scene_Data *data)
478 evas_canvas3d_light_spot_cutoff_set(20), 480 evas_canvas3d_light_spot_cutoff_set(20),
479 evas_canvas3d_light_projection_perspective_set(40.0, 1.0, 2.0, 1000.0)); 481 evas_canvas3d_light_projection_perspective_set(40.0, 1.0, 2.0, 1000.0));
480 482
481 data->light_node = 483
482 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 484 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
483 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 485 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
484 eo_do(data->light_node, 486 eo_do(data->light_node,
485 evas_canvas3d_node_light_set(data->light), 487 evas_canvas3d_node_light_set(data->light),
@@ -494,14 +496,14 @@ _scene_setup(Scene_Data *data)
494{ 496{
495 data->init = EINA_FALSE; 497 data->init = EINA_FALSE;
496 498
497 data->scene = eo_add(EVAS_CANVAS3D_SCENE_CLASS, evas); 499 eo_add(data->scene, EVAS_CANVAS3D_SCENE_CLASS, evas);
498 500
499 eo_do(data->scene, 501 eo_do(data->scene,
500 evas_canvas3d_scene_size_set(WIDTH, HEIGHT); 502 evas_canvas3d_scene_size_set(WIDTH, HEIGHT);
501 evas_canvas3d_scene_background_color_set(BG_COLOR, 1)); 503 evas_canvas3d_scene_background_color_set(BG_COLOR, 1));
502 504
503 data->root_node = 505
504 eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 506 eo_add(data->root_node, EVAS_CANVAS3D_NODE_CLASS, evas,
505 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 507 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
506 508
507 509
@@ -676,7 +678,7 @@ main(void)
676 _scene_setup(&data); 678 _scene_setup(&data);
677 679
678 /* Add a background rectangle objects. */ 680 /* Add a background rectangle objects. */
679 background = eo_add(EVAS_RECTANGLE_CLASS, evas); 681 eo_add(background, EVAS_RECTANGLE_CLASS, evas);
680 eo_do(background, 682 eo_do(background,
681 efl_gfx_color_set(0, 0, 0, 255), 683 efl_gfx_color_set(0, 0, 0, 255),
682 efl_gfx_size_set(WIDTH, HEIGHT), 684 efl_gfx_size_set(WIDTH, HEIGHT),
diff --git a/src/examples/evas/evas-object-manipulation-eo.c b/src/examples/evas/evas-object-manipulation-eo.c
index 9f17ee8313..a2ad39f9ee 100644
--- a/src/examples/evas/evas-object-manipulation-eo.c
+++ b/src/examples/evas/evas-object-manipulation-eo.c
@@ -174,7 +174,7 @@ main(void)
174 174
175 /* Creating object with Eo. 175 /* Creating object with Eo.
176 * Object must be deleted explixitly at the end of program.*/ 176 * Object must be deleted explixitly at the end of program.*/
177 d.bg = eo_add(EVAS_RECTANGLE_CLASS, d.canvas); 177 eo_add(d.bg, EVAS_RECTANGLE_CLASS, d.canvas);
178 178
179 /* Eo-styled way to perform actions on an object*/ 179 /* Eo-styled way to perform actions on an object*/
180 eo_do(d.bg, evas_obj_name_set("background rectangle"), 180 eo_do(d.bg, evas_obj_name_set("background rectangle"),
@@ -187,7 +187,7 @@ main(void)
187 evas_object_event_callback_add( 187 evas_object_event_callback_add(
188 d.bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, NULL); 188 d.bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, NULL);
189 189
190 d.img = eo_add(EVAS_IMAGE_CLASS, d.canvas); 190 eo_add(d.img, EVAS_IMAGE_CLASS, d.canvas);
191 191
192 /* As soon as 'canvas' object is a parent for 'image' object, 192 /* As soon as 'canvas' object is a parent for 'image' object,
193 * 'canvas' keeps reference to 'image'. 193 * 'canvas' keeps reference to 'image'.
@@ -214,7 +214,7 @@ main(void)
214 } 214 }
215 215
216 /* border on the image's clipper, here just to emphasize its position */ 216 /* border on the image's clipper, here just to emphasize its position */
217 d.clipper_border = eo_add(EVAS_IMAGE_CLASS, d.canvas); 217 eo_add(d.clipper_border, EVAS_IMAGE_CLASS, d.canvas);
218 eo_do(d.clipper_border, evas_obj_image_filled_set(EINA_TRUE), 218 eo_do(d.clipper_border, evas_obj_image_filled_set(EINA_TRUE),
219 efl_file_set(border_img_path, NULL), 219 efl_file_set(border_img_path, NULL),
220 err = evas_obj_image_load_error_get()); 220 err = evas_obj_image_load_error_get());
@@ -235,7 +235,7 @@ main(void)
235 /* solid white clipper (note that it's the default color for a 235 /* solid white clipper (note that it's the default color for a
236 * rectangle) - it won't change clippees' colors, then (multiplying 236 * rectangle) - it won't change clippees' colors, then (multiplying
237 * by 255) */ 237 * by 255) */
238 d.clipper = eo_add(EVAS_RECTANGLE_CLASS, d.canvas); 238 eo_add(d.clipper, EVAS_RECTANGLE_CLASS, d.canvas);
239 239
240 eo_do(d.clipper, 240 eo_do(d.clipper,
241 efl_gfx_position_set( WIDTH / 4, HEIGHT / 4), 241 efl_gfx_position_set( WIDTH / 4, HEIGHT / 4),
diff --git a/src/examples/evas/evas-vg-simple.c b/src/examples/evas/evas-vg-simple.c
index 5e0b0e4017..3d5a716a09 100644
--- a/src/examples/evas/evas-vg-simple.c
+++ b/src/examples/evas/evas-vg-simple.c
@@ -449,18 +449,22 @@ vector_set(int x, int y, int w, int h)
449 root = evas_object_vg_root_node_get(d.vg); 449 root = evas_object_vg_root_node_get(d.vg);
450 //eo_do(root, evas_vg_node_transformation_set(&matrix)); 450 //eo_do(root, evas_vg_node_transformation_set(&matrix));
451 451
452 Efl_VG *bg = eo_add(EFL_VG_SHAPE_CLASS, root, 452 Efl_VG *bg;
453 eo_add(bg, EFL_VG_SHAPE_CLASS, root,
453 efl_vg_name_set("bg")); 454 efl_vg_name_set("bg"));
454 _rect_add(bg, 0, 0 , vg_w, vg_h); 455 _rect_add(bg, 0, 0 , vg_w, vg_h);
455 evas_vg_node_origin_set(bg, 0,0); 456 evas_vg_node_origin_set(bg, 0,0);
456 evas_vg_shape_stroke_width_set(bg, 1.0); 457 evas_vg_shape_stroke_width_set(bg, 1.0);
457 evas_vg_node_color_set(bg, 80, 80, 80, 80); 458 evas_vg_node_color_set(bg, 80, 80, 80, 80);
458 459
459 Efl_VG *shape = eo_add(EFL_VG_SHAPE_CLASS, root, 460 Efl_VG *shape;
461 eo_add(shape, EFL_VG_SHAPE_CLASS, root,
460 efl_vg_name_set("shape")); 462 efl_vg_name_set("shape"));
461 Efl_VG *rgradient = eo_add(EFL_VG_GRADIENT_RADIAL_CLASS, NULL, 463 Efl_VG *rgradient;
464 eo_add(rgradient, EFL_VG_GRADIENT_RADIAL_CLASS, NULL,
462 efl_vg_name_set("rgradient")); 465 efl_vg_name_set("rgradient"));
463 Efl_VG *lgradient = eo_add(EFL_VG_GRADIENT_LINEAR_CLASS, NULL, 466 Efl_VG *lgradient;
467 eo_add(lgradient, EFL_VG_GRADIENT_LINEAR_CLASS, NULL,
464 efl_vg_name_set("lgradient")); 468 efl_vg_name_set("lgradient"));
465 469
466 _arcto(shape, 0, 0, 100, 100, 25, 330); 470 _arcto(shape, 0, 0, 100, 100, 25, 330);
@@ -502,7 +506,8 @@ vector_set(int x, int y, int w, int h)
502 evas_vg_node_color_set(shape, 0, 0, 255, 255); 506 evas_vg_node_color_set(shape, 0, 0, 255, 255);
503 evas_vg_shape_stroke_color_set(shape, 0, 0, 255, 128); 507 evas_vg_shape_stroke_color_set(shape, 0, 0, 255, 128);
504 508
505 Efl_VG *rect = eo_add(EFL_VG_SHAPE_CLASS, root, 509 Efl_VG *rect;
510 eo_add(rect, EFL_VG_SHAPE_CLASS, root,
506 efl_vg_name_set("rect")); 511 efl_vg_name_set("rect"));
507 _rect_add(rect, 0, 0, 100, 100); 512 _rect_add(rect, 0, 0, 100, 100);
508 evas_vg_node_origin_set(rect, 100, 100); 513 evas_vg_node_origin_set(rect, 100, 100);
@@ -511,7 +516,8 @@ vector_set(int x, int y, int w, int h)
511 evas_vg_shape_stroke_join_set(rect, EFL_GFX_JOIN_ROUND); 516 evas_vg_shape_stroke_join_set(rect, EFL_GFX_JOIN_ROUND);
512 evas_vg_shape_stroke_color_set(rect, 255, 255, 255, 255); 517 evas_vg_shape_stroke_color_set(rect, 255, 255, 255, 255);
513 518
514 Efl_VG *rect1 = eo_add(EFL_VG_SHAPE_CLASS, root, 519 Efl_VG *rect1;
520 eo_add(rect1, EFL_VG_SHAPE_CLASS, root,
515 efl_vg_name_set("rect1")); 521 efl_vg_name_set("rect1"));
516 _rect_add(rect1, 0, 0, 70, 70); 522 _rect_add(rect1, 0, 0, 70, 70);
517 evas_vg_node_origin_set(rect1, 50, 70); 523 evas_vg_node_origin_set(rect1, 50, 70);
@@ -520,7 +526,8 @@ vector_set(int x, int y, int w, int h)
520 evas_vg_shape_stroke_join_set(rect1, EFL_GFX_JOIN_ROUND); 526 evas_vg_shape_stroke_join_set(rect1, EFL_GFX_JOIN_ROUND);
521 evas_vg_shape_stroke_color_set(rect1, 0, 100, 80, 100); 527 evas_vg_shape_stroke_color_set(rect1, 0, 100, 80, 100);
522 528
523 Efl_VG *circle = eo_add(EFL_VG_SHAPE_CLASS, root, 529 Efl_VG *circle;
530 eo_add(circle, EFL_VG_SHAPE_CLASS, root,
524 efl_vg_name_set("circle")); 531 efl_vg_name_set("circle"));
525 _arcto(circle, 0, 0, 250, 100, 30, 300); 532 _arcto(circle, 0, 0, 250, 100, 30, 300);
526 evas_vg_shape_fill_set(circle, lgradient); 533 evas_vg_shape_fill_set(circle, lgradient);
@@ -529,7 +536,8 @@ vector_set(int x, int y, int w, int h)
529 evas_vg_node_color_set(circle, 50, 0, 0, 50); 536 evas_vg_node_color_set(circle, 50, 0, 0, 50);
530 537
531 // Foreground 538 // Foreground
532 Efl_VG *fg = eo_add(EFL_VG_SHAPE_CLASS, root, 539 Efl_VG *fg;
540 eo_add(fg, EFL_VG_SHAPE_CLASS, root,
533 efl_vg_name_set("fg")); 541 efl_vg_name_set("fg"));
534 _rect_add(fg, 0, 0, vg_w, vg_h); 542 _rect_add(fg, 0, 0, vg_w, vg_h);
535 evas_vg_node_origin_set(fg, 0, 0); 543 evas_vg_node_origin_set(fg, 0, 0);
@@ -537,23 +545,25 @@ vector_set(int x, int y, int w, int h)
537 evas_vg_shape_stroke_join_set(fg, EFL_GFX_JOIN_ROUND); 545 evas_vg_shape_stroke_join_set(fg, EFL_GFX_JOIN_ROUND);
538 evas_vg_shape_stroke_color_set(fg, 70, 70, 0, 70); 546 evas_vg_shape_stroke_color_set(fg, 70, 70, 0, 70);
539 547
540 Efl_VG *tst = eo_add(EFL_VG_SHAPE_CLASS, root, 548 Efl_VG *tst;
549 eo_add(tst, EFL_VG_SHAPE_CLASS, root,
541 efl_vg_name_set("tst")); 550 efl_vg_name_set("tst"));
542 evas_vg_shape_shape_append_rect(tst, 50, 25, 200, 200, 3, 5); 551 evas_vg_shape_shape_append_rect(tst, 50, 25, 200, 200, 3, 5);
543 evas_vg_node_color_set(tst, 0, 0, 200, 200); 552 evas_vg_node_color_set(tst, 0, 0, 200, 200);
544 evas_vg_shape_stroke_width_set(tst, 2); 553 evas_vg_shape_stroke_width_set(tst, 2);
545 evas_vg_shape_stroke_color_set(tst, 255, 0, 0, 255); 554 evas_vg_shape_stroke_color_set(tst, 255, 0, 0, 255);
546 555
547 Efl_VG *vc = eo_add(EFL_VG_SHAPE_CLASS, root, 556 Efl_VG *vc;
557 eo_add(vc, EFL_VG_SHAPE_CLASS, root,
548 efl_vg_name_set("vc")); 558 efl_vg_name_set("vc"));
549 evas_vg_shape_shape_append_circle(vc, 100, 100, 23); 559 evas_vg_shape_shape_append_circle(vc, 100, 100, 23);
550 evas_vg_node_color_set(vc, 0, 200, 0, 255); 560 evas_vg_node_color_set(vc, 0, 200, 0, 255);
551 evas_vg_shape_stroke_width_set(vc, 4); 561 evas_vg_shape_stroke_width_set(vc, 4);
552 evas_vg_shape_stroke_color_set(vc, 255, 0, 0, 255); 562 evas_vg_shape_stroke_color_set(vc, 255, 0, 0, 255);
553 563
554 beginning = eo_add(EFL_VG_CONTAINER_CLASS, NULL, 564 eo_add(beginning, EFL_VG_CONTAINER_CLASS, NULL,
555 efl_vg_dup(root)); 565 efl_vg_dup(root));
556 end = eo_add(EFL_VG_CONTAINER_CLASS, NULL, 566 eo_add(end, EFL_VG_CONTAINER_CLASS, NULL,
557 efl_vg_dup(root)); 567 efl_vg_dup(root));
558 568
559 eo_do(end, circle = efl_vg_container_child_get("circle")); 569 eo_do(end, circle = efl_vg_container_child_get("circle"));
diff --git a/src/examples/evas/shooter/evas-3d-shooter-header.c b/src/examples/evas/shooter/evas-3d-shooter-header.c
index 894df546f0..c55be83338 100644
--- a/src/examples/evas/shooter/evas-3d-shooter-header.c
+++ b/src/examples/evas/shooter/evas-3d-shooter-header.c
@@ -26,13 +26,13 @@ _distance(float x1, float z1, float x2, float z2)
26void 26void
27_camera_setup(Scene_Data *data) 27_camera_setup(Scene_Data *data)
28{ 28{
29 data->camera = eo_add(EVAS_CANVAS3D_CAMERA_CLASS, evas); 29 eo_add(data->camera, EVAS_CANVAS3D_CAMERA_CLASS, evas);
30 eo_do(data->camera, 30 eo_do(data->camera,
31 evas_canvas3d_camera_projection_perspective_set(65.0, 1.0, 1.0, 300.0)); 31 evas_canvas3d_camera_projection_perspective_set(65.0, 1.0, 1.0, 300.0));
32 32
33 data->mediator_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 33 eo_add(data->mediator_node, EVAS_CANVAS3D_NODE_CLASS, evas,
34 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE)); 34 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_NODE));
35 data->camera_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 35 eo_add(data->camera_node, EVAS_CANVAS3D_NODE_CLASS, evas,
36 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA)); 36 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_CAMERA));
37 37
38 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mediator_node)); 38 eo_do(data->root_node, evas_canvas3d_node_member_add(data->mediator_node));
@@ -47,7 +47,7 @@ _camera_setup(Scene_Data *data)
47void 47void
48_light_setup(Scene_Data *data) 48_light_setup(Scene_Data *data)
49{ 49{
50 data->light = eo_add(EVAS_CANVAS3D_LIGHT_CLASS, evas); 50 eo_add(data->light, EVAS_CANVAS3D_LIGHT_CLASS, evas);
51 51
52 eo_do(data->light, 52 eo_do(data->light,
53 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0), 53 evas_canvas3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
@@ -55,7 +55,7 @@ _light_setup(Scene_Data *data)
55 evas_canvas3d_light_specular_set(0.2, 0.2, 0.2, 1.0), 55 evas_canvas3d_light_specular_set(0.2, 0.2, 0.2, 1.0),
56 evas_canvas3d_light_projection_perspective_set(100.0, 1.0, 1.0, 200.0)); 56 evas_canvas3d_light_projection_perspective_set(100.0, 1.0, 1.0, 200.0));
57 57
58 data->light_node = eo_add(EVAS_CANVAS3D_NODE_CLASS, evas, 58 eo_add(data->light_node, EVAS_CANVAS3D_NODE_CLASS, evas,
59 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT)); 59 evas_canvas3d_node_constructor(EVAS_CANVAS3D_NODE_TYPE_LIGHT));
60 60
61 eo_do(data->light_node, 61 eo_do(data->light_node,