From 0ba37a4dc9748ece98dd411f55fcf2e0e4464b4d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Thu, 8 May 2014 04:34:42 +1000 Subject: eo_add_custom() is the way. --- src/extantz/Evas_3D_demo.c | 9 +++------ src/extantz/camera.c | 5 ++--- src/extantz/scenri.c | 8 ++------ 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) evas_3d_mesh_frame_material_set(20, scene->material1) ); - scene->mesh_node = evas_3d_node_add(ourGlobals->evas, EVAS_3D_NODE_TYPE_MESH); - eo_do(scene->mesh_node, + scene->mesh_node = eo_add_custom(EVAS_3D_NODE_CLASS, ourGlobals->evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH), eo_key_data_set("Name", "cube", NULL), evas_3d_node_position_set(40.0, 3.5, 23.0), evas_3d_node_mesh_add(scene->mesh) @@ -383,8 +382,7 @@ static void _sonic_setup(globals *ourGlobals, Scene_Data *scene) evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG) ); - scene->mesh2_node = evas_3d_node_add(ourGlobals->evas, EVAS_3D_NODE_TYPE_MESH); - eo_do(scene->mesh2_node, + scene->mesh2_node = eo_add_custom(EVAS_3D_NODE_CLASS, ourGlobals->evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH), eo_key_data_set("Name", "sonic", NULL), evas_3d_node_mesh_add(scene->mesh2) ); @@ -435,8 +433,7 @@ static void _earth_setup(globals *ourGlobals, Scene_Data *scene) evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_DIFFUSE) ); - scene->mesh3_node = evas_3d_node_add(ourGlobals->evas, EVAS_3D_NODE_TYPE_MESH); - eo_do(scene->mesh3_node, + scene->mesh3_node = eo_add_custom(EVAS_3D_NODE_CLASS, ourGlobals->evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_MESH), eo_key_data_set("Name", "earth", NULL), evas_3d_node_position_set(40.0, -3.5, 23.0), 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) evas_3d_camera_projection_perspective_set(60.0, 1.0, 1.0, 500.0) ); - result = evas_3d_node_add(evas, EVAS_3D_NODE_TYPE_CAMERA); - eo_do(result, + result = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_CAMERA), evas_3d_node_camera_set(camera), evas_3d_node_position_set(50.0, 0.0, 20.0), 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) // In this code, we are making our own camera, so grab it's input when we are focused. evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_DOWN, _on_camera_input_down, scene->move); evas_object_event_callback_add(image, EVAS_CALLBACK_KEY_UP, _on_camera_input_up, scene->move); - // While it's true that image is an Elm image, seems this Elm input event callbacrk doesn't work. + // While it's true that image is an Elm image, seems this Elm input event callback doesn't work. // elm_object_event_callback_add(image, _cb_event_GL, NULL); 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) eo_do(win, evas_obj_size_get(&w, &h)); scene = calloc(1, sizeof(Scene_Data)); - // TODO - I have no idea how this should work. - // It seems the people that wrote the examples don't know either. lol -// scene->root_node = eo_add(EVAS_3D_NODE_CLASS, evas, EVAS_3D_NODE_TYPE_NODE); - scene->root_node = evas_3d_node_add(evas, EVAS_3D_NODE_TYPE_NODE); + scene->root_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_NODE)); // -TODO - set the size based on the size of the enclosing window. scene->scene = eo_add(EVAS_3D_SCENE_CLASS, evas, @@ -127,8 +124,7 @@ Scene_Data *scenriAdd(Evas_Object *win) evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0), evas_3d_light_directional_set(EINA_TRUE) ); - scene->light_node = evas_3d_node_add(evas, EVAS_3D_NODE_TYPE_LIGHT); - eo_do(scene->light_node, + scene->light_node = eo_add_custom(EVAS_3D_NODE_CLASS, evas, evas_3d_node_constructor(EVAS_3D_NODE_TYPE_LIGHT), evas_3d_node_light_set(scene->light), evas_3d_node_position_set(1000.0, 0.0, 1000.0), 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) -- cgit v1.1