From 2f2dd23ee46ec3e25b2340828469d608f0d85735 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Thu, 28 Apr 2011 10:07:25 +0000 Subject: [PATCH] more tests - use text as mask.. no go. SVN revision: 58997 --- src/bin/Makefile.am | 2 + src/bin/image_mask_12.c | 119 ++++++++++++++++++++++++++++++++++++++++ src/bin/image_mask_13.c | 119 ++++++++++++++++++++++++++++++++++++++++ src/bin/tests.h | 2 + src/bin/ui.c | 10 ++-- 5 files changed, 248 insertions(+), 4 deletions(-) create mode 100644 src/bin/image_mask_12.c create mode 100644 src/bin/image_mask_13.c diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index e7db3cf..74a897a 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -124,6 +124,8 @@ image_mask_8.c \ image_mask_9.c \ image_mask_10.c \ image_mask_11.c \ +image_mask_12.c \ +image_mask_13.c \ filter_object_colors.c \ filter_object_colors_solid.c \ filter_object_sepia.c \ diff --git a/src/bin/image_mask_12.c b/src/bin/image_mask_12.c new file mode 100644 index 0000000..fb94e58 --- /dev/null +++ b/src/bin/image_mask_12.c @@ -0,0 +1,119 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_12 +#define NAME "Image Mask 12" +#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_text_add(evas); + o_mask = o; + evas_object_text_font_set(o, "Vera-Bold", 150); + 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("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 < 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; + const char *strs[] = { + "Big", "Smelly", "Fish", "Pants", "Octopus", "Garden", "There", "I", + "Am", "You", "Are", "Erogenous", "We", "Stick", "Wet", "Fishy", + "Fiddly", "Family", "Lair", "Monkeys", "Magazine" + }; + for (i = 0; i < OBNUM; 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); + } + evas_object_text_text_set(o_mask, strs[rnd() % (sizeof(strs) / sizeof(char *))]); + evas_object_color_set(o_mask, 255, 255, 255, 255); + evas_object_geometry_get(o_mask, NULL, NULL, &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_13.c b/src/bin/image_mask_13.c new file mode 100644 index 0000000..559b657 --- /dev/null +++ b/src/bin/image_mask_13.c @@ -0,0 +1,119 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_mask_13 +#define NAME "Image Mask 13" +#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_text_add(evas); + o_mask = o; + evas_object_text_font_set(o, "Vera-Bold", 150); + 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_show(o); + evas_object_clip_set(o, o_mask); + } + 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; + const char *strs[] = { + "Big", "Smelly", "Fish", "Pants", "Octopus", "Garden", "There", "I", + "Am", "You", "Are", "Erogenous", "We", "Stick", "Wet", "Fishy", + "Fiddly", "Family", "Lair", "Monkeys", "Magazine" + }; + 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); + } + evas_object_text_text_set(o_mask, strs[rnd() % (sizeof(strs) / sizeof(char *))]); + evas_object_color_set(o_mask, 255, 255, 255, 255); + evas_object_geometry_get(o_mask, NULL, NULL, &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/tests.h b/src/bin/tests.h index e6c19b9..10e116e 100644 --- a/src/bin/tests.h +++ b/src/bin/tests.h @@ -100,6 +100,8 @@ #include "image_mask_9.c" #include "image_mask_10.c" #include "image_mask_11.c" +#include "image_mask_12.c" +#include "image_mask_13.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 6ab61d1..0c4b2f9 100644 --- a/src/bin/ui.c +++ b/src/bin/ui.c @@ -174,17 +174,19 @@ static double weights[] = 20.000, // test 101 MASK 10 20.000, // MASK 11 - 1.000, - 2.000, + 20.000, // MASK 12 + 20.000, // MASK 13 1.000, 2.000, // test 106 1.000, - 2.000, + 2.000, 1.000, 2.000, - 10.000, // test 111 + 1.000, // test 111 + 2.000, + 10.000, 10.000, 0.0, // Exit