diff --git a/legacy/evas/src/bin/evas_software_x11_main.c b/legacy/evas/src/bin/evas_software_x11_main.c index 730723f8c1..dc9beeb9ea 100644 --- a/legacy/evas/src/bin/evas_software_x11_main.c +++ b/legacy/evas/src/bin/evas_software_x11_main.c @@ -184,12 +184,14 @@ main(int argc, char **argv) case ButtonPress: if (ev.xbutton.button == 3) exit(0); +#if 0 if (!pause_me) pause_me = 1; else if (pause_me == 1) pause_me = 2; else pause_me = 1; +#endif evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); evas_event_feed_mouse_down(evas, ev.xbutton.button); break; diff --git a/legacy/evas/src/bin/evas_test_main.c b/legacy/evas/src/bin/evas_test_main.c index 7a6744fbf2..f31a2e53bb 100644 --- a/legacy/evas/src/bin/evas_test_main.c +++ b/legacy/evas/src/bin/evas_test_main.c @@ -22,6 +22,7 @@ Evas *evas = NULL; int win_w = 240; int win_h = 320; +int mode = 0; int loop_count = 0; int orig_loop_count = 0; @@ -38,6 +39,8 @@ Evas_Object *test_pattern = NULL; Evas_Object *c1 = NULL, *c2 = NULL; Evas_Object *cv1 = NULL, *cv2 = NULL; +Evas_Object *scroll[16]; + #ifndef _WIN32_WCE double get_time(void) @@ -68,7 +71,23 @@ loop(void) orig_loop_count++; t = get_time() - start_time; - + if (mode == 1) + { + int iw, ih; + int i; + + evas_object_image_fill_set(scroll[0], 0, loop_count, 240, 320); + for (i = 1; i < 16; i++) + { + evas_object_image_size_get(scroll[i], &iw, &ih); + evas_object_image_fill_set(scroll[i], 0, loop_count * (i + 1), iw, ih); + } + if ((loop_count % 500) == 499) + { + printf("FPS: %3.3f\n", (double)loop_count/t); + } + return; + } if (t <= 2.0) { @@ -1678,6 +1697,22 @@ void cb_mouse_down(void *data, Evas * e, Evas_Object * obj, Evas_Event_Mouse_Down * ev) { + if (mode == 0) + { + mode = 1; + setdown(); + scroll_setup(); + orig_start_time = start_time = get_time(); + loop_count = orig_loop_count = 0; + } + else + { + mode = 0; + scroll_setdown(); + setup(); + orig_start_time = start_time = get_time(); + loop_count = orig_loop_count = 0; + } printf("cb_mouse_down() [%i], %4i,%4i | %4.1f,%4.1f\n", ev->button, ev->output.x, ev->output.y, ev->canvas.x, ev->canvas.y); } @@ -1714,6 +1749,59 @@ cb_mouse_move(void *data, Evas * e, Evas_Object * obj, ev->prev.canvas.x, ev->prev.canvas.y); } +void +scroll_setdown(void) +{ + int i; + + evas_object_del(scroll[0]); + for (i = 1; i < 16; i++) + evas_object_del(scroll[i]); +} + +void +scroll_setup(void) +{ + Evas_Object *ob; + int iw, ih; + int i; + + ob = evas_object_image_add(evas); + evas_object_image_file_set(ob, IM "backdrop.png", NULL); + evas_object_move(ob, 0, 0); + evas_object_resize(ob, 240, 320); + evas_object_image_fill_set(ob, 0, 0, 240, 320); + evas_object_layer_set(ob, 0); + evas_object_show(ob); + scroll[0] = ob; + + for (i = 1; i < 16; i++) + { + ob = evas_object_image_add(evas); + evas_object_image_file_set(ob, IM "e_logo.png", NULL); + evas_object_move(ob, 0, 0); + evas_object_resize(ob, 240, 320); + evas_object_image_size_get(ob, &iw, &ih); + evas_object_image_fill_set(ob, 0, 0, iw, ih); + evas_object_layer_set(ob, 1); + evas_object_show(ob); + evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_DOWN, cb_mouse_down, NULL); + scroll[i] = ob; + } +} + +void +setdown(void) +{ + evas_object_del(backdrop); + evas_object_del(e_logo); + evas_object_del(panel); + evas_object_del(panel_top); + evas_object_del(panel_shadow); + evas_object_del(panel_clip); + evas_object_del(evas_logo); +} + void setup(void) { @@ -1743,6 +1831,7 @@ setup(void) evas_object_image_fill_set(ob, 0, 0, iw, ih); evas_object_layer_set(ob, 1); evas_object_show(ob); + evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_DOWN, cb_mouse_down, NULL); e_logo = ob; ob = evas_object_image_add(evas);