aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Walter Seikel2014-05-08 04:34:42 +1000
committerDavid Walter Seikel2014-05-08 04:34:42 +1000
commit0ba37a4dc9748ece98dd411f55fcf2e0e4464b4d (patch)
tree67c54f762aa5863c0eefe7b0bf0ee6988077b3db
parentFixin's on the menu. (diff)
downloadSledjHamr-0ba37a4dc9748ece98dd411f55fcf2e0e4464b4d.zip
SledjHamr-0ba37a4dc9748ece98dd411f55fcf2e0e4464b4d.tar.gz
SledjHamr-0ba37a4dc9748ece98dd411f55fcf2e0e4464b4d.tar.bz2
SledjHamr-0ba37a4dc9748ece98dd411f55fcf2e0e4464b4d.tar.xz
eo_add_custom() is the way.
-rw-r--r--src/extantz/Evas_3D_demo.c9
-rw-r--r--src/extantz/camera.c5
-rw-r--r--src/extantz/scenri.c8
3 files changed, 7 insertions, 15 deletions
diff --git a/src/extantz/Evas_3D_demo.c b/src/extantz/Evas_3D_demo.c
index 669fbba..cbe6c77 100644
--- a/src/extantz/Evas_3D_demo.c
+++ b/src/extantz/Evas_3D_demo.c
@@ -340,8 +340,7 @@ static void _cube_setup(globals *ourGlobals, Scene_Data *scene)
340 evas_3d_mesh_frame_material_set(20, scene->material1) 340 evas_3d_mesh_frame_material_set(20, scene->material1)
341 ); 341 );
342 342
343 scene->mesh_node = evas_3d_node_add(ourGlobals->evas, EVAS_3D_NODE_TYPE_MESH); 343 scene->mesh_node = eo_add_custom(EVAS_3D_NODE_CLASS, ourGlobals->evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH),
344 eo_do(scene->mesh_node,
345 eo_key_data_set("Name", "cube", NULL), 344 eo_key_data_set("Name", "cube", NULL),
346 evas_3d_node_position_set(40.0, 3.5, 23.0), 345 evas_3d_node_position_set(40.0, 3.5, 23.0),
347 evas_3d_node_mesh_add(scene->mesh) 346 evas_3d_node_mesh_add(scene->mesh)
@@ -383,8 +382,7 @@ static void _sonic_setup(globals *ourGlobals, Scene_Data *scene)
383 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG) 382 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG)
384 ); 383 );
385 384
386 scene->mesh2_node = evas_3d_node_add(ourGlobals->evas, EVAS_3D_NODE_TYPE_MESH); 385 scene->mesh2_node = eo_add_custom(EVAS_3D_NODE_CLASS, ourGlobals->evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH),
387 eo_do(scene->mesh2_node,
388 eo_key_data_set("Name", "sonic", NULL), 386 eo_key_data_set("Name", "sonic", NULL),
389 evas_3d_node_mesh_add(scene->mesh2) 387 evas_3d_node_mesh_add(scene->mesh2)
390 ); 388 );
@@ -435,8 +433,7 @@ static void _earth_setup(globals *ourGlobals, Scene_Data *scene)
435 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE) 433 evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE)
436 ); 434 );
437 435
438 scene->mesh3_node = evas_3d_node_add(ourGlobals->evas, EVAS_3D_NODE_TYPE_MESH); 436 scene->mesh3_node = eo_add_custom(EVAS_3D_NODE_CLASS, ourGlobals->evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH),
439 eo_do(scene->mesh3_node,
440 eo_key_data_set("Name", "earth", NULL), 437 eo_key_data_set("Name", "earth", NULL),
441 evas_3d_node_position_set(40.0, -3.5, 23.0), 438 evas_3d_node_position_set(40.0, -3.5, 23.0),
442 evas_3d_node_mesh_add(scene->mesh3) 439 evas_3d_node_mesh_add(scene->mesh3)
diff --git a/src/extantz/camera.c b/src/extantz/camera.c
index 7e22d8d..b956a6e 100644
--- a/src/extantz/camera.c
+++ b/src/extantz/camera.c
@@ -190,8 +190,7 @@ Evas_3D_Node *cameraAdd(Evas *evas, Scene_Data *scene, Evas_Object *image)
190 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0) 190 evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0)
191 ); 191 );
192 192
193 result = evas_3d_node_add(evas, EVAS_3D_NODE_TYPE_CAMERA); 193 result = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA),
194 eo_do(result,
195 evas_3d_node_camera_set(camera), 194 evas_3d_node_camera_set(camera),
196 evas_3d_node_position_set(50.0, 0.0, 20.0), 195 evas_3d_node_position_set(50.0, 0.0, 20.0),
197 evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 20.0, EVAS_3D_SPACE_PARENT, 0.0, 0.0, 1.0) 196 evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 20.0, EVAS_3D_SPACE_PARENT, 0.0, 0.0, 1.0)
@@ -204,7 +203,7 @@ Evas_3D_Node *cameraAdd(Evas *evas, Scene_Data *scene, Evas_Object *image)
204 // In this code, we are making our own camera, so grab it's input when we are focused. 203 // In this code, we are making our own camera, so grab it's input when we are focused.
205 evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_DOWN, _on_camera_input_down, scene->move); 204 evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_DOWN, _on_camera_input_down, scene->move);
206 evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_UP, _on_camera_input_up, scene->move); 205 evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_UP, _on_camera_input_up, scene->move);
207 // While it's true that image is an Elm image, seems this Elm input event callbacrk doesn't work. 206 // While it's true that image is an Elm image, seems this Elm input event callback doesn't work.
208// elm_object_event_callback_add(image, _cb_event_GL, NULL); 207// elm_object_event_callback_add(image, _cb_event_GL, NULL);
209 208
210 return result; 209 return result;
diff --git a/src/extantz/scenri.c b/src/extantz/scenri.c
index af4897a..4b16faa 100644
--- a/src/extantz/scenri.c
+++ b/src/extantz/scenri.c
@@ -95,10 +95,7 @@ Scene_Data *scenriAdd(Evas_Object *win)
95 eo_do(win, evas_obj_size_get(&w, &h)); 95 eo_do(win, evas_obj_size_get(&w, &h));
96 scene = calloc(1, sizeof(Scene_Data)); 96 scene = calloc(1, sizeof(Scene_Data));
97 97
98 // TODO - I have no idea how this should work. 98 scene->root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE));
99 // It seems the people that wrote the examples don't know either. lol
100// scene->root_node = eo_add(EVAS_3D_NODE_CLASS, evas, EVAS_3D_NODE_TYPE_NODE);
101 scene->root_node = evas_3d_node_add(evas, EVAS_3D_NODE_TYPE_NODE);
102 99
103 // -TODO - set the size based on the size of the enclosing window. 100 // -TODO - set the size based on the size of the enclosing window.
104 scene->scene = eo_add(EVAS_3D_SCENE_CLASS, evas, 101 scene->scene = eo_add(EVAS_3D_SCENE_CLASS, evas,
@@ -127,8 +124,7 @@ Scene_Data *scenriAdd(Evas_Object *win)
127 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0), 124 evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
128 evas_3d_light_directional_set(EINA_TRUE) 125 evas_3d_light_directional_set(EINA_TRUE)
129 ); 126 );
130 scene->light_node = evas_3d_node_add(evas, EVAS_3D_NODE_TYPE_LIGHT); 127 scene->light_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT),
131 eo_do(scene->light_node,
132 evas_3d_node_light_set(scene->light), 128 evas_3d_node_light_set(scene->light),
133 evas_3d_node_position_set(1000.0, 0.0, 1000.0), 129 evas_3d_node_position_set(1000.0, 0.0, 1000.0),
134 evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_3D_SPACE_PARENT, 0.0, 1.0, 0.0) 130 evas_3d_node_look_at_set(EVAS_3D_SPACE_PARENT, 0.0, 0.0, 0.0, EVAS_3D_SPACE_PARENT, 0.0, 1.0, 0.0)