diff options
Diffstat (limited to '')
-rw-r--r-- | src/extantz/extantz.c | 4 | ||||
-rw-r--r-- | src/extantz/extantz.h | 1 | ||||
-rw-r--r-- | src/extantz/scenri.c | 21 |
3 files changed, 24 insertions, 2 deletions
diff --git a/src/extantz/extantz.c b/src/extantz/extantz.c index 6ef9e14..310f9b9 100644 --- a/src/extantz/extantz.c +++ b/src/extantz/extantz.c | |||
@@ -398,7 +398,10 @@ static Eina_Bool doFrame(void *data) | |||
398 | else if ((ourGlobals->scene) && (ourGlobals->scene->image)) | 398 | else if ((ourGlobals->scene) && (ourGlobals->scene->image)) |
399 | { | 399 | { |
400 | // evas_object_image_pixels_dirty_set(elm_image_object_get(ourGlobals->scene->image), EINA_TRUE); | 400 | // evas_object_image_pixels_dirty_set(elm_image_object_get(ourGlobals->scene->image), EINA_TRUE); |
401 | #if USE_ELM_IMG | ||
401 | _draw_gl(elm_image_object_get(ourGlobals->scene->image)); | 402 | _draw_gl(elm_image_object_get(ourGlobals->scene->image)); |
403 | #else | ||
404 | #endif | ||
402 | } | 405 | } |
403 | 406 | ||
404 | return EINA_TRUE; // Keep calling us. | 407 | return EINA_TRUE; // Keep calling us. |
@@ -609,7 +612,6 @@ EAPI_MAIN int elm_main(int argc, char **argv) | |||
609 | 612 | ||
610 | ourGlobals.running = 1; | 613 | ourGlobals.running = 1; |
611 | 614 | ||
612 | |||
613 | // Don't do this, we need to clean up other stuff to, so set a clean up function below. | 615 | // Don't do this, we need to clean up other stuff to, so set a clean up function below. |
614 | //elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); | 616 | //elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); |
615 | elm_policy_set(ELM_POLICY_EXIT, ELM_POLICY_EXIT_NONE); | 617 | elm_policy_set(ELM_POLICY_EXIT, ELM_POLICY_EXIT_NONE); |
diff --git a/src/extantz/extantz.h b/src/extantz/extantz.h index e4e562e..8e06948 100644 --- a/src/extantz/extantz.h +++ b/src/extantz/extantz.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define USE_IRR 0 | 5 | #define USE_IRR 0 |
6 | #define USE_DEMO 1 | 6 | #define USE_DEMO 1 |
7 | #define DO_GEARS 0 | 7 | #define DO_GEARS 0 |
8 | #define USE_ELM_IMG 1 | ||
8 | 9 | ||
9 | 10 | ||
10 | #include "LumbrJack.h" | 11 | #include "LumbrJack.h" |
diff --git a/src/extantz/scenri.c b/src/extantz/scenri.c index 02be81c..76f4513 100644 --- a/src/extantz/scenri.c +++ b/src/extantz/scenri.c | |||
@@ -351,7 +351,10 @@ static Eina_Bool _stuffsLoader(void *data) | |||
351 | Scene_Data *scenriAdd(Evas_Object *win) | 351 | Scene_Data *scenriAdd(Evas_Object *win) |
352 | { | 352 | { |
353 | Scene_Data *scene; | 353 | Scene_Data *scene; |
354 | Evas_Object *evas, *temp; | 354 | Evas_Object *evas; |
355 | #if USE_ELM_IMG | ||
356 | Evas_Object *temp; | ||
357 | #endif | ||
355 | int w, h; | 358 | int w, h; |
356 | 359 | ||
357 | evas = evas_object_evas_get(win); | 360 | evas = evas_object_evas_get(win); |
@@ -373,12 +376,19 @@ Scene_Data *scenriAdd(Evas_Object *win) | |||
373 | // Any colour or texture applied to this window gets applied to the scene, including transparency. | 376 | // Any colour or texture applied to this window gets applied to the scene, including transparency. |
374 | // Interestingly enough, the position and size of the render seems to NOT depend on the position and size of this image? | 377 | // Interestingly enough, the position and size of the render seems to NOT depend on the position and size of this image? |
375 | // Note that we can't reuse the windows background image, Evas_3D needs both images. | 378 | // Note that we can't reuse the windows background image, Evas_3D needs both images. |
379 | #if USE_ELM_IMG | ||
376 | scene->image = eo_add(ELM_IMAGE_CLASS, win, | 380 | scene->image = eo_add(ELM_IMAGE_CLASS, win, |
377 | evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), | 381 | evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), |
378 | elm_obj_image_fill_outside_set(EINA_TRUE), | 382 | elm_obj_image_fill_outside_set(EINA_TRUE), |
379 | efl_gfx_visible_set(EINA_TRUE), | 383 | efl_gfx_visible_set(EINA_TRUE), |
380 | temp = elm_obj_image_object_get() | 384 | temp = elm_obj_image_object_get() |
381 | ); | 385 | ); |
386 | #else | ||
387 | scene->image = evas_object_image_filled_add(evas); | ||
388 | evas_object_size_hint_weight_set(scene->image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND), | ||
389 | evas_object_resize(scene->image, WIDTH, HEIGHT); | ||
390 | evas_object_show(scene->image); | ||
391 | #endif | ||
382 | elm_object_tooltip_text_set(scene->image, ""); | 392 | elm_object_tooltip_text_set(scene->image, ""); |
383 | elm_object_tooltip_hide(scene->image); | 393 | elm_object_tooltip_hide(scene->image); |
384 | scene->camera_node = cameraAdd(evas, scene, scene->image); | 394 | scene->camera_node = cameraAdd(evas, scene, scene->image); |
@@ -396,11 +406,20 @@ Scene_Data *scenriAdd(Evas_Object *win) | |||
396 | ); | 406 | ); |
397 | eo_do(scene->root_node, evas_canvas3d_node_member_add(scene->light_node)); | 407 | eo_do(scene->root_node, evas_canvas3d_node_member_add(scene->light_node)); |
398 | 408 | ||
409 | #if USE_ELM_IMG | ||
399 | eo_do(temp, evas_obj_image_scene_set(scene->scene)); | 410 | eo_do(temp, evas_obj_image_scene_set(scene->scene)); |
400 | 411 | ||
401 | // Elm can't seem to be able to tell us WHERE an image was clicked, so use raw Evas callbacks instead. | 412 | // Elm can't seem to be able to tell us WHERE an image was clicked, so use raw Evas callbacks instead. |
402 | evas_object_event_callback_add(temp, EVAS_CALLBACK_MOUSE_MOVE, _on_mouse_move, scene); | 413 | evas_object_event_callback_add(temp, EVAS_CALLBACK_MOUSE_MOVE, _on_mouse_move, scene); |
403 | evas_object_event_callback_add(temp, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down, scene); | 414 | evas_object_event_callback_add(temp, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down, scene); |
415 | #else | ||
416 | eo_do(scene->image, evas_obj_image_scene_set(scene->scene)); | ||
417 | |||
418 | // Elm can't seem to be able to tell us WHERE an image was clicked, so use raw Evas callbacks instead. | ||
419 | evas_object_event_callback_add(scene->image, EVAS_CALLBACK_MOUSE_MOVE, _on_mouse_move, scene); | ||
420 | evas_object_event_callback_add(scene->image, EVAS_CALLBACK_MOUSE_DOWN, _on_mouse_down, scene); | ||
421 | #endif | ||
422 | |||
404 | 423 | ||
405 | elm_win_resize_object_add(win, scene->image); | 424 | elm_win_resize_object_add(win, scene->image); |
406 | 425 | ||