From fed6752372a59837f30cf03d8d3ea784d321c6a7 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Thu, 19 May 2011 13:03:48 +0000 Subject: [PATCH] add page curl test. right now its code in test. will eventually become widget when refined. right nhow its a test that has been kikcing proxy around so its in svn. SVN revision: 59537 --- legacy/elementary/data/images/Makefile.am | 1 + legacy/elementary/data/images/twofish.jpg | Bin 0 -> 62948 bytes legacy/elementary/data/objects/test.edc | 2 +- legacy/elementary/src/bin/Makefile.am | 3 +- legacy/elementary/src/bin/test.c | 2 + legacy/elementary/src/bin/test_flip_page.c | 309 +++++++++++++++++++++ 6 files changed, 315 insertions(+), 2 deletions(-) create mode 100644 legacy/elementary/data/images/twofish.jpg create mode 100644 legacy/elementary/src/bin/test_flip_page.c diff --git a/legacy/elementary/data/images/Makefile.am b/legacy/elementary/data/images/Makefile.am index 319dc9aa58..30849e7885 100644 --- a/legacy/elementary/data/images/Makefile.am +++ b/legacy/elementary/data/images/Makefile.am @@ -43,6 +43,7 @@ bubble.png \ bubble_sh.png \ mystrale.jpg \ mystrale_2.jpg \ +twofish.jpg \ pt.png EXTRA_DIST = $(files_DATA) diff --git a/legacy/elementary/data/images/twofish.jpg b/legacy/elementary/data/images/twofish.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e6024d48859fa592d3ac67459ee7ac58444a6353 GIT binary patch literal 62948 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

yE>JJh?vMQQ(9gt%=%_fFz?;q1qY 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¨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

tBPOKvBzB%ZWUKwZh+9|RMVMQm3L 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 +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif +#ifndef ELM_LIB_QUICKLAUNCH + +typedef struct _State State; +typedef struct _Slice Slice; + +struct _State +{ + Evas_Object *orig, *win, *base; + Evas_Coord down_x, down_y; + Eina_Bool down : 1; + Evas_Coord x, y; + Eina_List *slices; +}; + +struct _Slice +{ + Evas_Object *obj; +}; + +static State state = +{ + NULL, NULL, NULL, + 0, 0, + 0, + 0, 0, + NULL, +}; + +#define RES 8 + +static void +_slice_update(State *st) +{ + Evas_Coord x1, y1, x2, y2, mx, my, px, rx, ry, prx, pry, dst, dx, dy, pdst; + Evas_Coord x, y, w, h; + int i; + Evas_Map *m; + Slice *sl; + int rad; + + evas_object_geometry_get(st->orig, &x, &y, &w, &h); + x1 = st->down_x; + y1 = st->down_y; + x2 = st->x; + y2 = st->y; + mx = (x1 + x2) / 2; + my = (y1 + y2) / 2; + + if (mx < 0) mx = 0; + else if (mx >= w) mx = w - 1; + if (my < 0) my = 0; + else if (my >= h) my = h - 1; + + if (!st->base) + { + st->base = evas_object_image_add(evas_object_evas_get(st->win)); + evas_object_image_fill_set(st->base, 0, 0, w, h); + evas_object_pass_events_set(st->base, 1); + evas_object_image_source_set(st->base, st->orig); + evas_object_show(st->base); + } + + m = evas_map_new(4); + evas_map_smooth_set(m, 0); + + evas_map_point_coord_set(m, 0, x , y , 0); + evas_map_point_coord_set(m, 1, x + mx, y , 0); + evas_map_point_coord_set(m, 2, x + mx, y + h, 0); + evas_map_point_coord_set(m, 3, x , y + h, 0); + + evas_map_point_image_uv_set(m, 0, 0 , 0); + evas_map_point_image_uv_set(m, 1, mx, 0); + evas_map_point_image_uv_set(m, 2, mx, h); + evas_map_point_image_uv_set(m, 3, 0 , h); + + evas_map_point_color_set(m, 0, 255, 255, 255, 255); + evas_map_point_color_set(m, 1, 255, 255, 255, 255); + evas_map_point_color_set(m, 2, 255, 255, 255, 255); + evas_map_point_color_set(m, 3, 255, 255, 255, 255); + +/* + // FIXME: lighting should be manual with pt 0 and 3 being white and + // 2 and 3 matching the + evas_map_util_3d_lighting(m, + 0 , 0 , -1000, + 255, 255, 255, + 20 , 20 , 20); + */ + evas_map_util_3d_perspective(m, x + (w / 2), y + (h / 2), 0, 512); + + evas_object_map_enable_set(st->base, 1); + evas_object_map_set(st->base, m); + evas_map_free(m); + + EINA_LIST_FREE(st->slices, sl) + { + evas_object_del(sl->obj); + free(sl); + } + + // cylinder radius is width / 8 + rad = (w - mx) / 4; + if (rad < (w / 16)) rad = (w / 16); + if (rad > (w / 8)) rad = w / 8; + + rad = w / 12; + + px = mx; + prx = 0; + pry = rad; + for (i = 1; i < RES; i++) + { + sl = calloc(1, sizeof(Slice)); + st->slices = eina_list_append(st->slices, sl); + sl->obj = evas_object_image_add(evas_object_evas_get(st->win)); + evas_object_image_fill_set(sl->obj, 0, 0, w, h); + evas_object_pass_events_set(sl->obj, 1); + evas_object_image_source_set(sl->obj, st->orig); + evas_object_show(sl->obj); + + rx = (double)rad * sin((i * M_PI) / RES); + ry = (double)rad * cos((i * M_PI) / RES); + dx = rx - prx; + dy = ry - pry; + dst = sqrt((dx * dx) + (dy * dy)); + if ((px + dst) > w) + { + pdst = dst; + dst = w - px; + rx = prx + (((rx - prx) * dst) / pdst); + ry = pry + (((ry - pry) * dst) / pdst); + } + if (dst <= 0) break; + + m = evas_map_new(4); + evas_map_smooth_set(m, 0); + + evas_map_point_coord_set(m, 0, x + mx + prx, y , 0 - (rad - pry)); + evas_map_point_coord_set(m, 1, x + mx + rx , y , 0 - (rad - ry )); + evas_map_point_coord_set(m, 2, x + mx + rx , y + h, 0 - (rad - ry )); + evas_map_point_coord_set(m, 3, x + mx + prx, y + h, 0 - (rad - pry)); + + evas_map_point_image_uv_set(m, 0, px , 0); + evas_map_point_image_uv_set(m, 1, px + dst, 0); + evas_map_point_image_uv_set(m, 2, px + dst, h); + evas_map_point_image_uv_set(m, 3, px , h); + + evas_map_point_color_set(m, 0, 255, 255, 255, 255); + evas_map_point_color_set(m, 1, 255, 255, 255, 255); + evas_map_point_color_set(m, 2, 255, 255, 255, 255); + evas_map_point_color_set(m, 3, 255, 255, 255, 255); + + evas_map_util_3d_perspective(m, x + (w / 2), y + (h / 2), 0, 512); + + evas_object_map_enable_set(sl->obj, 1); + evas_object_map_set(sl->obj, m); + evas_map_free(m); + + prx = rx; + pry = ry; + px += dst; + } + if (px < w) + { + sl = calloc(1, sizeof(Slice)); + st->slices = eina_list_append(st->slices, sl); + sl->obj = evas_object_image_add(evas_object_evas_get(st->win)); + evas_object_image_fill_set(sl->obj, 0, 0, w, h); + evas_object_pass_events_set(sl->obj, 1); + evas_object_image_source_set(sl->obj, st->orig); + evas_object_show(sl->obj); + + m = evas_map_new(4); + evas_map_smooth_set(m, 0); + + evas_map_point_coord_set(m, 0, x + mx + prx, y , 0 - (rad - pry)); + evas_map_point_coord_set(m, 1, x + mx + (px - w) , y , 0 - (rad * 2 )); + evas_map_point_coord_set(m, 2, x + mx + (px - w) , y + h, 0 - (rad * 2 )); + evas_map_point_coord_set(m, 3, x + mx + prx, y + h, 0 - (rad - pry)); + + evas_map_point_image_uv_set(m, 0, px , 0); + evas_map_point_image_uv_set(m, 1, w, 0); + evas_map_point_image_uv_set(m, 2, w, h); + evas_map_point_image_uv_set(m, 3, px , h); + + evas_map_point_color_set(m, 0, 255, 255, 255, 255); + evas_map_point_color_set(m, 1, 255, 255, 255, 255); + evas_map_point_color_set(m, 2, 255, 255, 255, 255); + evas_map_point_color_set(m, 3, 255, 255, 255, 255); + + evas_map_util_3d_perspective(m, x + (w / 2), y + (h / 2), 0, 512); + + evas_object_map_enable_set(sl->obj, 1); + evas_object_map_set(sl->obj, m); + evas_map_free(m); + } +} + +static void +_slice_end(State *st) +{ + Slice *sl; + EINA_LIST_FREE(st->slices, sl) + { + evas_object_del(sl->obj); + free(sl); + } + if (st->base) + { + evas_object_del(st->base); + st->base = NULL; + } +} + +static void +im_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) +{ + Evas_Event_Mouse_Down *ev = event_info; + Evas_Object *win = data; + Evas_Coord x, y; + + if (ev->button != 1) return; + evas_object_geometry_get(obj, &x, &y, NULL, NULL); + state.orig = obj; + state.win = win; + state.down = 1; + state.x = ev->canvas.x - x; + state.y = ev->canvas.y - y; + state.down_x = state.x; + state.down_y = state.y; + evas_object_lower(obj); + printf("v %i %i\n", state.x, state.y); + _slice_update(&state); +} + +static void +im_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) +{ + Evas_Event_Mouse_Up *ev = event_info; + Evas_Object *win = data; + Evas_Coord x, y; + + if (ev->button != 1) return; + evas_object_geometry_get(obj, &x, &y, NULL, NULL); + state.down = 0; + state.x = ev->canvas.x - x; + state.y = ev->canvas.y - y; + evas_object_raise(obj); + printf("^ %i %i\n", state.x, state.y); + _slice_end(&state); +} + +static void +im_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) +{ + Evas_Event_Mouse_Move *ev = event_info; + Evas_Object *win = data; + Evas_Coord x, y; + + if (!state.down) return; + evas_object_geometry_get(obj, &x, &y, NULL, NULL); + state.x = ev->cur.canvas.x - x; + state.y = ev->cur.canvas.y - y; + printf("@ %i %i\n", state.x, state.y); + _slice_update(&state); +} + +void +test_flip_page(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *win, *bg, *im; + char buf[PATH_MAX]; + + win = elm_win_add(NULL, "flip_page", ELM_WIN_BASIC); + elm_win_title_set(win, "Flip Page"); + elm_win_focus_highlight_enabled_set(win, EINA_TRUE); + elm_win_autodel_set(win, 1); + + bg = elm_bg_add(win); + elm_win_resize_object_add(win, bg); + evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(bg); + +#if 1 + im = elm_layout_add(win); + snprintf(buf, sizeof(buf), "%s/objects/test.edj", PACKAGE_DATA_DIR); + elm_layout_file_set(im, buf, "layout"); +#else + im = evas_object_image_filled_add(evas_object_evas_get(win)); + snprintf(buf, sizeof(buf), "%s/images/%s", + PACKAGE_DATA_DIR, "twofish.jpg"); + evas_object_image_file_set(im, buf, NULL); +#endif + evas_object_move(im, 40, 40); + evas_object_resize(im, 400, 400); + evas_object_show(im); + + evas_object_event_callback_add(im, EVAS_CALLBACK_MOUSE_DOWN, im_down_cb, win); + evas_object_event_callback_add(im, EVAS_CALLBACK_MOUSE_UP, im_up_cb, win); + evas_object_event_callback_add(im, EVAS_CALLBACK_MOUSE_MOVE, im_move_cb, win); + + evas_object_resize(win, 480, 480); + evas_object_show(win); +} +#endif