6 #define FNAME poly_blend_start
7 #define NAME "Polygon Blend"
8 #define ICON "rect.png"
17 static Evas_Object *o_images[OBNUM];
20 poly(Evas_Object *o, int type, Evas_Coord x, Evas_Coord y)
22 evas_object_polygon_points_clear(o);
25 case 0: /* triangle */
26 evas_object_polygon_point_add(o, x + 50 , y + 0);
27 evas_object_polygon_point_add(o, x + 100, y + 100);
28 evas_object_polygon_point_add(o, x + 0 , y + 100);
31 evas_object_polygon_point_add(o, x + 0 , y + 0);
32 evas_object_polygon_point_add(o, x + 100, y + 0);
33 evas_object_polygon_point_add(o, x + 100, y + 100);
34 evas_object_polygon_point_add(o, x + 0 , y + 100);
37 evas_object_polygon_point_add(o, x + 50 , y + 0);
38 evas_object_polygon_point_add(o, x + 100, y + 30);
39 evas_object_polygon_point_add(o, x + 100, y + 70);
40 evas_object_polygon_point_add(o, x + 50 , y + 100);
41 evas_object_polygon_point_add(o, x + 0 , y + 70);
42 evas_object_polygon_point_add(o, x + 0 , y + 30);
45 evas_object_polygon_point_add(o, x + 50 , y + 0);
46 evas_object_polygon_point_add(o, x + 60 , y + 40);
47 evas_object_polygon_point_add(o, x + 90 , y + 30);
48 evas_object_polygon_point_add(o, x + 70 , y + 60);
49 evas_object_polygon_point_add(o, x + 90 , y + 100);
50 evas_object_polygon_point_add(o, x + 50 , y + 70);
51 evas_object_polygon_point_add(o, x + 10 , y + 100);
52 evas_object_polygon_point_add(o, x + 30 , y + 60);
53 evas_object_polygon_point_add(o, x + 10 , y + 30);
54 evas_object_polygon_point_add(o, x + 40 , y + 40);
62 static void _setup(void)
67 for (i = 0; i < OBNUM; i++)
71 o = evas_object_polygon_add(evas);
74 r = ((rnd()&0xff) * a) / 255;
75 g = ((rnd()&0xff) * a) / 255;
76 b = ((rnd()&0xff) * a) / 255;
77 evas_object_color_set(o, r, g, b, a);
85 static void _cleanup(void)
88 for (i = 0; i < OBNUM; i++) evas_object_del(o_images[i]);
91 /* loop - do things */
92 static void _loop(double t, int f)
95 Evas_Coord x, y, w, h;
98 for (i = 0; i < OBNUM; i++)
101 evas_object_geometry_get(o, NULL, NULL, &w, &h);
102 x = (win_w / 2) - (w / 2);
103 x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (win_w / 4);
104 y = (win_h / 2) - (h / 2);
105 y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (win_h / 4);
106 evas_object_move(o, x, y);
111 /* prepend special key handlers if interactive (before STD) */
112 static void _key(char *key)
128 /* template stuff - ignore */
133 _ui_menu_item_add(ICON, NAME, FNAME);
144 ui_func_set(_key, _loop);