6 #define FNAME image_blend_clipped_proxy_start
7 #define NAME "Image Blend Clipped Proxy"
8 #define ICON "blend.png"
17 static Evas_Object *o_images[OBNUM * 2];
20 static void _setup(void)
25 o = efl_add(EFL_CANVAS_IMAGE_CLASS, evas);
26 efl_file_simple_load(o, build_path("logo.png"), NULL);
27 efl_gfx_fill_set(o, EINA_RECT(0, 0, 120, 160));
28 efl_gfx_entity_size_set(o, EINA_SIZE2D(120, 160));
29 efl_gfx_entity_visible_set(o, EINA_TRUE);
33 for (i = 1; i < OBNUM; i += 2)
36 o = efl_add(EFL_CANVAS_PROXY_CLASS, evas);
38 efl_canvas_proxy_source_set(o, src);
39 efl_gfx_entity_size_set(o, EINA_SIZE2D(120, 160));
40 efl_gfx_fill_set(o, EINA_RECT(0, 0, 120, 160));
41 efl_gfx_entity_visible_set(o, EINA_TRUE);
43 clip = efl_add(EFL_CANVAS_RECTANGLE_CLASS, evas);
44 o_images[i + 1] = clip;
45 efl_canvas_object_clipper_set(o, clip);
46 efl_gfx_entity_size_set(clip, EINA_SIZE2D(120, 80));
47 efl_canvas_object_has_fixed_size_set(o, 1);
48 efl_gfx_entity_visible_set(clip, EINA_TRUE);
54 static void _cleanup(void)
57 for (i = 0; i < OBNUM * 2; i++) efl_del(o_images[i]);
60 /* loop - do things */
61 static void _loop(double t, int f)
64 Evas_Coord x, y, w, h;
65 for (i = 0; i < OBNUM * 2; i++)
69 x = (win_w / 2) - (w / 2);
70 x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2);
71 y = (win_h / 2) - (h / 2);
72 y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2);
73 efl_gfx_entity_position_set(o_images[i], EINA_POSITION2D(x, y));
77 efl_gfx_entity_position_set(o_images[i], EINA_POSITION2D(x, y + h / 2));
79 efl_gfx_entity_position_set(o_images[i], EINA_POSITION2D(x, y));
84 /* prepend special key handlers if interactive (before STD) */
85 static void _key(const char *key)
101 /* template stuff - ignore */
106 _ui_menu_item_add(ICON, NAME, FNAME);
118 ui_func_set(_key, _loop);