diff options
Diffstat (limited to '')
-rw-r--r-- | src/GuiLua/GuiLua.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/GuiLua/GuiLua.c b/src/GuiLua/GuiLua.c index e01da80..46e0d1e 100644 --- a/src/GuiLua/GuiLua.c +++ b/src/GuiLua/GuiLua.c | |||
@@ -149,7 +149,6 @@ static const char *globName = "ourGlobals"; | |||
149 | 149 | ||
150 | 150 | ||
151 | 151 | ||
152 | |||
153 | typedef struct _Scene_Data | 152 | typedef struct _Scene_Data |
154 | { | 153 | { |
155 | Evas_Object *image; // Our Elm image. | 154 | Evas_Object *image; // Our Elm image. |
@@ -466,12 +465,11 @@ _animate_scene(void *data) | |||
466 | 465 | ||
467 | Scene_Data *scene = (Scene_Data *)data; | 466 | Scene_Data *scene = (Scene_Data *)data; |
468 | 467 | ||
469 | // Rotate cube | 468 | // Animate cube. |
470 | angle += 0.5; | 469 | angle += 0.5; |
471 | if (angle > 360.0) angle -= 360.0f; | 470 | if (angle > 360.0) angle -= 360.0f; |
472 | 471 | ||
473 | frame += inc; | 472 | frame += inc; |
474 | |||
475 | if (frame >= 20) inc = -1; | 473 | if (frame >= 20) inc = -1; |
476 | else if (frame <= 0) inc = 1; | 474 | else if (frame <= 0) inc = 1; |
477 | 475 | ||
@@ -541,8 +539,7 @@ _light_setup(globals *ourGlobals, Scene_Data *scene) | |||
541 | ); | 539 | ); |
542 | } | 540 | } |
543 | 541 | ||
544 | static void | 542 | static void _cube_setup(globals *ourGlobals, Scene_Data *scene) |
545 | _mesh_setup(globals *ourGlobals, Scene_Data *scene) | ||
546 | { | 543 | { |
547 | // Setup cube materials. | 544 | // Setup cube materials. |
548 | scene->material0 = eo_add(EVAS_3D_MATERIAL_CLASS, ourGlobals->evas); | 545 | scene->material0 = eo_add(EVAS_3D_MATERIAL_CLASS, ourGlobals->evas); |
@@ -616,8 +613,10 @@ _mesh_setup(globals *ourGlobals, Scene_Data *scene) | |||
616 | evas_3d_node_position_set(40.0, 3.5, 23.0), | 613 | evas_3d_node_position_set(40.0, 3.5, 23.0), |
617 | evas_3d_node_mesh_add(scene->mesh) | 614 | evas_3d_node_mesh_add(scene->mesh) |
618 | ); | 615 | ); |
616 | } | ||
619 | 617 | ||
620 | 618 | static void _sonic_setup(globals *ourGlobals, Scene_Data *scene) | |
619 | { | ||
621 | // Setup an MD2 mesh. | 620 | // Setup an MD2 mesh. |
622 | scene->mesh2 = eo_add(EVAS_3D_MESH_CLASS, ourGlobals->evas); | 621 | scene->mesh2 = eo_add(EVAS_3D_MESH_CLASS, ourGlobals->evas); |
623 | eo_do(scene->mesh2, | 622 | eo_do(scene->mesh2, |
@@ -662,8 +661,10 @@ _mesh_setup(globals *ourGlobals, Scene_Data *scene) | |||
662 | eo_do(scene->mesh2, | 661 | eo_do(scene->mesh2, |
663 | evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG) | 662 | evas_3d_mesh_shade_mode_set(EVAS_3D_SHADE_MODE_PHONG) |
664 | ); | 663 | ); |
664 | } | ||
665 | 665 | ||
666 | 666 | static void _earth_setup(globals *ourGlobals, Scene_Data *scene) | |
667 | { | ||
667 | // Setup earth material. | 668 | // Setup earth material. |
668 | scene->material3 = eo_add(EVAS_3D_MATERIAL_CLASS, ourGlobals->evas); | 669 | scene->material3 = eo_add(EVAS_3D_MATERIAL_CLASS, ourGlobals->evas); |
669 | 670 | ||
@@ -733,7 +734,9 @@ _scene_setup(globals *ourGlobals, Scene_Data *scene) | |||
733 | 734 | ||
734 | _camera_setup(ourGlobals, scene); | 735 | _camera_setup(ourGlobals, scene); |
735 | _light_setup(ourGlobals, scene); | 736 | _light_setup(ourGlobals, scene); |
736 | _mesh_setup(ourGlobals, scene); | 737 | _cube_setup(ourGlobals, scene); |
738 | _sonic_setup(ourGlobals, scene); | ||
739 | _earth_setup(ourGlobals, scene); | ||
737 | 740 | ||
738 | eo_do(scene->scene, | 741 | eo_do(scene->scene, |
739 | evas_3d_scene_root_node_set(scene->root_node), | 742 | evas_3d_scene_root_node_set(scene->root_node), |
@@ -985,7 +988,6 @@ static int window(lua_State *L) | |||
985 | evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), | 988 | evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), |
986 | elm_obj_image_fill_outside_set(EINA_TRUE), | 989 | elm_obj_image_fill_outside_set(EINA_TRUE), |
987 | elm_obj_image_file_set("../../media/sky_01.jpg", NULL), | 990 | elm_obj_image_file_set("../../media/sky_01.jpg", NULL), |
988 | evas_obj_position_set(0, 0), | ||
989 | evas_obj_visibility_set(EINA_TRUE) | 991 | evas_obj_visibility_set(EINA_TRUE) |
990 | ); | 992 | ); |
991 | elm_win_resize_object_add(ourGlobals->win, obj); | 993 | elm_win_resize_object_add(ourGlobals->win, obj); |
@@ -997,7 +999,6 @@ static int window(lua_State *L) | |||
997 | eo_do(obj, | 999 | eo_do(obj, |
998 | evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), | 1000 | evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), |
999 | elm_obj_image_fill_outside_set(EINA_TRUE), | 1001 | elm_obj_image_fill_outside_set(EINA_TRUE), |
1000 | evas_obj_position_set(0, 0), | ||
1001 | evas_obj_visibility_set(EINA_TRUE), | 1002 | evas_obj_visibility_set(EINA_TRUE), |
1002 | temp = elm_obj_image_object_get() | 1003 | temp = elm_obj_image_object_get() |
1003 | ); | 1004 | ); |
@@ -1010,7 +1011,6 @@ static int window(lua_State *L) | |||
1010 | evas_object_event_callback_add(temp, EVAS_CALLBACK_MOUSE_MOVE, _on_mouse_move, &ourScene); | 1011 | evas_object_event_callback_add(temp, EVAS_CALLBACK_MOUSE_MOVE, _on_mouse_move, &ourScene); |
1011 | evas_object_event_callback_add(temp, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down, &ourScene); | 1012 | evas_object_event_callback_add(temp, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down, &ourScene); |
1012 | elm_win_resize_object_add(ourGlobals->win, obj); | 1013 | elm_win_resize_object_add(ourGlobals->win, obj); |
1013 | eo_unref(obj); | ||
1014 | 1014 | ||
1015 | // Add animation timer callback. | 1015 | // Add animation timer callback. |
1016 | ecore_timer_add(0.016, _animate_scene, &ourScene); | 1016 | ecore_timer_add(0.016, _animate_scene, &ourScene); |
@@ -1076,6 +1076,7 @@ static int closeWindow(lua_State *L) | |||
1076 | { | 1076 | { |
1077 | eo_unref(wid->obj); | 1077 | eo_unref(wid->obj); |
1078 | } | 1078 | } |
1079 | eo_unref(ourScene.image); | ||
1079 | evas_object_del(ourGlobals->win); | 1080 | evas_object_del(ourGlobals->win); |
1080 | _sphere_fini(); | 1081 | _sphere_fini(); |
1081 | } | 1082 | } |