diff --git a/data/Makefile.am b/data/Makefile.am index c84b062..939fc95 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -52,7 +52,9 @@ blend.png \ map.png \ 3d.png \ data.png \ -widgets.png - +widgets.png \ +e-logo-2.png \ +e-logo-mask.png \ +texture.png EXTRA_DIST = $(files_DATA) diff --git a/data/e-logo-2.png b/data/e-logo-2.png new file mode 100644 index 0000000..0992bfb Binary files /dev/null and b/data/e-logo-2.png differ diff --git a/data/e-logo-mask.png b/data/e-logo-mask.png new file mode 100644 index 0000000..b71600c Binary files /dev/null and b/data/e-logo-mask.png differ diff --git a/data/texture.png b/data/texture.png new file mode 100644 index 0000000..630726a Binary files /dev/null and b/data/texture.png differ diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index adcfefb..e7db3cf 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -114,6 +114,16 @@ proxy_image.c \ proxy_text_fixed.c \ proxy_text_random.c \ image_mask.c \ +image_mask_2.c \ +image_mask_3.c \ +image_mask_4.c \ +image_mask_5.c \ +image_mask_6.c \ +image_mask_7.c \ +image_mask_8.c \ +image_mask_9.c \ +image_mask_10.c \ +image_mask_11.c \ filter_object_colors.c \ filter_object_colors_solid.c \ filter_object_sepia.c \ diff --git a/src/bin/image_mask_10.c b/src/bin/image_mask_10.c new file mode 100644 index 0000000..ab89b9d --- /dev/null +++ b/src/bin/image_mask_10.c @@ -0,0 +1,119 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_10 +#define NAME "Image Mask 10" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[1]; +static Evas_Object *o_mask; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + + o = evas_object_image_add(evas); + o_mask = o; + evas_object_image_file_set(o, build_path("e-logo-mask.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 720, 420); + evas_object_resize(o, 720, 420); + evas_object_move(o, (win_w - 720) / 2, (win_h - 420) / 2); + evas_object_show(o); + + for (i = 0; i < 1; i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("texture.png"), NULL); + evas_object_image_fill_set(o, 0, 0, win_w * 4, win_h * 4); + evas_object_resize(o, win_w * 4, win_h * 4); + evas_object_clip_set(o, o_mask); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < 1; i++) evas_object_del(o_images[i]); + evas_object_del(o_mask); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + for (i = 0; i < 1; i++) + { + w = win_w * 4; + h = win_h * 4; + x = (win_w / 2) - (w / 2); + y = (win_h / 2) - (h / 2); + m = evas_map_new(4); + evas_map_util_points_populate_from_geometry(m, + -win_w, -win_h, + win_w * 4, win_h * 4, 0); + evas_map_util_rotate(m, f, win_w / 2, win_h / 2); + evas_object_map_enable_set(o_images[i], 1); + evas_object_map_set(o_images[i], m); + evas_map_free(m); + } + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/image_mask_11.c b/src/bin/image_mask_11.c new file mode 100644 index 0000000..0b0a67a --- /dev/null +++ b/src/bin/image_mask_11.c @@ -0,0 +1,123 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_11 +#define NAME "Image Mask 11" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[OBNUM]; +static Evas_Object *o_mask; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + + o = evas_object_image_add(evas); + o_mask = o; + evas_object_image_file_set(o, build_path("e-logo-mask.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 720, 420); + evas_object_resize(o, 720, 420); + evas_object_move(o, (win_w - 720) / 2, (win_h - 420) / 2); + evas_object_show(o); + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("logo.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_clip_set(o, o_mask); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < OBNUM; i++) evas_object_del(o_images[i]); + evas_object_del(o_mask); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + for (i = 0; i < OBNUM; i++) + { + w = 120; + h = 160; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); + evas_object_move(o_images[i], x, y); + } + m = evas_map_new(4); + evas_map_util_points_populate_from_geometry(m, + (win_w - 720) / 2, + (win_h - 420) / 2, + 720, 420, 0); + evas_map_util_rotate(m, f, win_w / 2, win_h / 2); + evas_object_map_enable_set(o_mask, 1); + evas_object_map_set(o_mask, m); + evas_map_free(m); + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/image_mask_2.c b/src/bin/image_mask_2.c new file mode 100644 index 0000000..550bd3a --- /dev/null +++ b/src/bin/image_mask_2.c @@ -0,0 +1,110 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_2 +#define NAME "Image Mask 2" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[OBNUM]; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + for (i = 0; i < OBNUM; i+= 2) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("e-logo.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_show(o); + + o = evas_object_image_add(evas); + o_images[i + 1] = o; + evas_object_image_file_set(o, build_path("e-logo-2.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_show(o); + evas_object_clip_set(o_images[i], o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < OBNUM; i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Coord x, y, w, h; + for (i = 0; i < OBNUM; i+= 2) + { + w = 120; + h = 160; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); + evas_object_move(o_images[i], x, y); + evas_object_move(o_images[i + 1], x, y); + } + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/image_mask_3.c b/src/bin/image_mask_3.c new file mode 100644 index 0000000..39978b3 --- /dev/null +++ b/src/bin/image_mask_3.c @@ -0,0 +1,110 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_3 +#define NAME "Image Mask 3" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[OBNUM]; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + for (i = 0; i < OBNUM; i+= 2) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("e-logo-2.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_show(o); + + o = evas_object_image_add(evas); + o_images[i + 1] = o; + evas_object_image_file_set(o, build_path("logo.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_show(o); + evas_object_clip_set(o_images[i], o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < OBNUM; i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Coord x, y, w, h; + for (i = 0; i < OBNUM; i+= 2) + { + w = 120; + h = 160; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); + evas_object_move(o_images[i], x, y); + evas_object_move(o_images[i + 1], x, y); + } + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/image_mask_4.c b/src/bin/image_mask_4.c new file mode 100644 index 0000000..1657437 --- /dev/null +++ b/src/bin/image_mask_4.c @@ -0,0 +1,113 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_4 +#define NAME "Image Mask 4" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[OBNUM]; +static Evas_Object *o_mask; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + + o = evas_object_image_add(evas); + o_mask = o; + evas_object_image_file_set(o, build_path("e-logo-mask.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 720, 420); + evas_object_resize(o, 720, 420); + evas_object_move(o, (win_w - 720) / 2, (win_h - 420) / 2); + evas_object_show(o); + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("logo.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_clip_set(o, o_mask); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < OBNUM; i++) evas_object_del(o_images[i]); + evas_object_del(o_mask); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Coord x, y, w, h; + for (i = 0; i < OBNUM; i++) + { + w = 120; + h = 160; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); + evas_object_move(o_images[i], x, y); + } + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/image_mask_5.c b/src/bin/image_mask_5.c new file mode 100644 index 0000000..288a120 --- /dev/null +++ b/src/bin/image_mask_5.c @@ -0,0 +1,113 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_5 +#define NAME "Image Mask 5" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[OBNUM]; +static Evas_Object *o_mask; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + + o = evas_object_image_add(evas); + o_mask = o; + evas_object_image_file_set(o, build_path("e-logo-2.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_move(o, (win_w - 120) / 2, (win_h - 160) / 2); + evas_object_show(o); + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("logo.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_clip_set(o, o_mask); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < OBNUM; i++) evas_object_del(o_images[i]); + evas_object_del(o_mask); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Coord x, y, w, h; + for (i = 0; i < OBNUM; i++) + { + w = 120; + h = 160; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); + evas_object_move(o_images[i], x, y); + } + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/image_mask_6.c b/src/bin/image_mask_6.c new file mode 100644 index 0000000..caac8f0 --- /dev/null +++ b/src/bin/image_mask_6.c @@ -0,0 +1,113 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_6 +#define NAME "Image Mask 6" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[OBNUM]; +static Evas_Object *o_mask; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + + o = evas_object_image_add(evas); + o_mask = o; + evas_object_image_file_set(o, build_path("e-logo-mask.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 720, 420); + evas_object_resize(o, 720, 420); + evas_object_move(o, (win_w - 720) / 2, (win_h - 420) / 2); + evas_object_show(o); + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("logo.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120 / 2, 160 / 2); + evas_object_resize(o, 120 / 2, 160 / 2); + evas_object_clip_set(o, o_mask); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < OBNUM; i++) evas_object_del(o_images[i]); + evas_object_del(o_mask); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Coord x, y, w, h; + for (i = 0; i < OBNUM; i++) + { + w = 120 / 2; + h = 160 / 2; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); + evas_object_move(o_images[i], x, y); + } + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/image_mask_7.c b/src/bin/image_mask_7.c new file mode 100644 index 0000000..a8ccb87 --- /dev/null +++ b/src/bin/image_mask_7.c @@ -0,0 +1,118 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_7 +#define NAME "Image Mask 7" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[OBNUM]; +static Evas_Object *o_mask; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + + o = evas_object_image_add(evas); + o_mask = o; + evas_object_image_file_set(o, build_path("e-logo-2.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_move(o, (win_w - 120) / 2, (win_h - 160) / 2); + evas_object_show(o); + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("logo.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_clip_set(o, o_mask); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < OBNUM; i++) evas_object_del(o_images[i]); + evas_object_del(o_mask); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Coord x, y, w, h; + for (i = 0; i < OBNUM; i++) + { + w = 120; + h = 160; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h / 2); + evas_object_move(o_images[i], x, y); + } + w = 10 + (110 + (110 * sin((double)(f) / (14.3 * SLOW)))); + h = 10 + (150 + (150 * sin((double)(f) / (21.7 * SLOW)))); + evas_object_image_fill_set(o_mask, 0, 0, w, h); + evas_object_resize(o_mask, w, h); + evas_object_move(o_mask, (win_w - w) / 2, (win_h - h) / 2); + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/image_mask_8.c b/src/bin/image_mask_8.c new file mode 100644 index 0000000..961a44d --- /dev/null +++ b/src/bin/image_mask_8.c @@ -0,0 +1,113 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_8 +#define NAME "Image Mask 8" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[1]; +static Evas_Object *o_mask; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + + o = evas_object_image_add(evas); + o_mask = o; + evas_object_image_file_set(o, build_path("e-logo-mask.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 720, 420); + evas_object_resize(o, 720, 420); + evas_object_move(o, (win_w - 720) / 2, (win_h - 420) / 2); + evas_object_show(o); + + for (i = 0; i < 1; i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("texture.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 500, 444); + evas_object_resize(o, win_w * 4, win_h * 4); + evas_object_clip_set(o, o_mask); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < 1; i++) evas_object_del(o_images[i]); + evas_object_del(o_mask); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Coord x, y, w, h; + for (i = 0; i < 1; i++) + { + w = win_w * 4; + h = win_h * 4; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (500 / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (444 / 2); + evas_object_move(o_images[i], x, y); + } + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/image_mask_9.c b/src/bin/image_mask_9.c new file mode 100644 index 0000000..b602ef7 --- /dev/null +++ b/src/bin/image_mask_9.c @@ -0,0 +1,124 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_9 +#define NAME "Image Mask 9" +#define ICON "blend.png" + +#ifndef PROTO +# ifndef UI +# include "main.h" + +/* standard var */ +static int done = 0; +/* private data */ +static Evas_Object *o_images[1]; +static Evas_Object *o_mask; + +/* setup */ +static void _setup(void) +{ + int i; + Evas_Object *o; + + o = evas_object_image_add(evas); + o_mask = o; + evas_object_image_file_set(o, build_path("e-logo-mask.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 720, 420); + evas_object_resize(o, 720, 420); + evas_object_move(o, (win_w - 720) / 2, (win_h - 420) / 2); + evas_object_show(o); + + for (i = 0; i < 1; i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + evas_object_image_file_set(o, build_path("texture.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 500, 444); + evas_object_resize(o, win_w * 4, win_h * 4); + evas_object_clip_set(o, o_mask); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < 1; i++) evas_object_del(o_images[i]); + evas_object_del(o_mask); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + for (i = 0; i < 1; i++) + { + w = win_w * 4; + h = win_h * 4; + x = (win_w / 2) - (w / 2); + x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (500 / 2); + y = (win_h / 2) - (h / 2); + y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (444 / 2); + evas_object_move(o_images[i], x, y); + } + m = evas_map_new(4); + + evas_map_util_points_populate_from_geometry(m, + (win_w - 720) / 2, + (win_h - 420) / 2, + 720, 420, 0); + evas_map_util_rotate(m, f, win_w / 2, win_h / 2); + evas_object_map_enable_set(o_mask, 1); + evas_object_map_set(o_mask, m); + evas_map_free(m); + FPS_STD(NAME); +} + +/* prepend special key handlers if interactive (before STD) */ +static void _key(char *key) +{ + KEY_STD; +} + + + + + + + + + + + + +/* template stuff - ignore */ +# endif +#endif + +#ifdef UI +_ui_menu_item_add(ICON, NAME, FNAME); +#endif + +#ifdef PROTO +void FNAME(void); +#endif + +#ifndef PROTO +# ifndef UI +void FNAME(void) +{ + ui_func_set(_key, _loop); + _setup(); +} +# endif +#endif +#undef FNAME +#undef NAME +#undef ICON diff --git a/src/bin/main.h b/src/bin/main.h index 4a6f880..fc78a7e 100644 --- a/src/bin/main.h +++ b/src/bin/main.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include diff --git a/src/bin/tests.h b/src/bin/tests.h index 970da94..e6c19b9 100644 --- a/src/bin/tests.h +++ b/src/bin/tests.h @@ -90,6 +90,16 @@ #include "proxy_text_fixed.c" #include "proxy_text_random.c" #include "image_mask.c" +#include "image_mask_2.c" +#include "image_mask_3.c" +#include "image_mask_4.c" +#include "image_mask_5.c" +#include "image_mask_6.c" +#include "image_mask_7.c" +#include "image_mask_8.c" +#include "image_mask_9.c" +#include "image_mask_10.c" +#include "image_mask_11.c" #include "filter_object_colors.c" #include "filter_object_colors_solid.c" #include "filter_object_invert.c" diff --git a/src/bin/ui.c b/src/bin/ui.c index b5db731..6ab61d1 100644 --- a/src/bin/ui.c +++ b/src/bin/ui.c @@ -157,13 +157,42 @@ static double weights[] = 38.2952, // test 86 5.5560, 0.5000, - 10.000, // Proxy tests - 10.000, + 1.000, 10.000, + 5.000, // test 91 + 20.000, // MASK + 20.000, // MASK 2 + 20.000, // MASK 3 + 20.000, // MASK 4 + + 20.000, // test 96 + 20.000, // MASK 6 + 20.000, // MASK 7 + 20.000, // MASK 8 + 20.000, // MASK 9 + + 20.000, // test 101 MASK 10 + 20.000, // MASK 11 + 1.000, + 2.000, + 1.000, + + 2.000, // test 106 + 1.000, + 2.000, + 1.000, + 2.000, + + 10.000, // test 111 + 10.000, + + 0.0, // Exit + 0.0, // no final test - add a 0 at the end anyway to pad 0.0, 0.0, + 0.0, 0.0 };