From 180423aefcaa07455021ea31bab5194f130aa884 Mon Sep 17 00:00:00 2001 From: Brett Nash Date: Tue, 19 Apr 2011 06:09:34 +0000 Subject: [PATCH] Add filter tests. SVN revision: 58728 --- src/bin/Makefile.am | 12 ++- src/bin/filter_object_blur.c | 107 ++++++++++++++++++++++ src/bin/filter_object_blur_solid.c | 108 +++++++++++++++++++++++ src/bin/filter_object_colors.c | 111 +++++++++++++++++++++++ src/bin/filter_object_colors_solid.c | 112 ++++++++++++++++++++++++ src/bin/filter_object_greyscale.c | 106 ++++++++++++++++++++++ src/bin/filter_object_greyscale_solid.c | 107 ++++++++++++++++++++++ src/bin/filter_object_invert.c | 106 ++++++++++++++++++++++ src/bin/filter_object_invert_solid.c | 107 ++++++++++++++++++++++ src/bin/filter_object_sepia.c | 106 ++++++++++++++++++++++ src/bin/filter_object_sepia_solid.c | 107 ++++++++++++++++++++++ src/bin/tests.h | 10 +++ 12 files changed, 1098 insertions(+), 1 deletion(-) create mode 100644 src/bin/filter_object_blur.c create mode 100644 src/bin/filter_object_blur_solid.c create mode 100644 src/bin/filter_object_colors.c create mode 100644 src/bin/filter_object_colors_solid.c create mode 100644 src/bin/filter_object_greyscale.c create mode 100644 src/bin/filter_object_greyscale_solid.c create mode 100644 src/bin/filter_object_invert.c create mode 100644 src/bin/filter_object_invert_solid.c create mode 100644 src/bin/filter_object_sepia.c create mode 100644 src/bin/filter_object_sepia_solid.c diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index d29a49e..adcfefb 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -113,7 +113,17 @@ poly_blend.c \ proxy_image.c \ proxy_text_fixed.c \ proxy_text_random.c \ -image_mask.c +image_mask.c \ +filter_object_colors.c \ +filter_object_colors_solid.c \ +filter_object_sepia.c \ +filter_object_sepia_solid.c \ +filter_object_greyscale.c \ +filter_object_greyscale_solid.c \ +filter_object_invert.c \ +filter_object_invert_solid.c \ +filter_object_blur.c \ +filter_object_blur_solid.c expedite_CFLAGS = @WIN32_CFLAGS@ expedite_CXXFLAGS = @EXPEDITE_CXXFLAGS@ diff --git a/src/bin/filter_object_blur.c b/src/bin/filter_object_blur.c new file mode 100644 index 0000000..4f74c5a --- /dev/null +++ b/src/bin/filter_object_blur.c @@ -0,0 +1,107 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_blur +#define NAME "Filter Object Blur" +#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,*src; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + 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_filter_set(o, EVAS_FILTER_BLUR); + evas_object_filter_param_set_int(o, "radius", 3); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/filter_object_blur_solid.c b/src/bin/filter_object_blur_solid.c new file mode 100644 index 0000000..7e2e827 --- /dev/null +++ b/src/bin/filter_object_blur_solid.c @@ -0,0 +1,108 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_blur_solid +#define NAME "Filter Object Blur Solid" +#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,*src; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + evas_object_image_file_set(o, build_path("image.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_filter_set(o, EVAS_FILTER_BLUR); + evas_object_filter_param_set_int(o, "radius", 5); + evas_object_layer_set(o,1); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/filter_object_colors.c b/src/bin/filter_object_colors.c new file mode 100644 index 0000000..2b66799 --- /dev/null +++ b/src/bin/filter_object_colors.c @@ -0,0 +1,111 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_colors +#define NAME "Filter Object Colors" +#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,*src; + Evas_Filter filters[3] = { + EVAS_FILTER_GREYSCALE, + EVAS_FILTER_INVERT, + EVAS_FILTER_SEPIA + }; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + 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_filter_set(o, filters[i % 3]); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/filter_object_colors_solid.c b/src/bin/filter_object_colors_solid.c new file mode 100644 index 0000000..534ab81 --- /dev/null +++ b/src/bin/filter_object_colors_solid.c @@ -0,0 +1,112 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_colors_solid +#define NAME "Filter Object Colors Solid" +#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,*src; + Evas_Filter filters[3] = { + EVAS_FILTER_GREYSCALE, + EVAS_FILTER_INVERT, + EVAS_FILTER_SEPIA + }; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + evas_object_image_file_set(o, build_path("image.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_filter_set(o, filters[i % 3]); + evas_object_layer_set(o,1); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/filter_object_greyscale.c b/src/bin/filter_object_greyscale.c new file mode 100644 index 0000000..0d41ddd --- /dev/null +++ b/src/bin/filter_object_greyscale.c @@ -0,0 +1,106 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_greyscale +#define NAME "Filter Object Greyscale" +#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,*src; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + 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_filter_set(o, EVAS_FILTER_GREYSCALE); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/filter_object_greyscale_solid.c b/src/bin/filter_object_greyscale_solid.c new file mode 100644 index 0000000..98373f5 --- /dev/null +++ b/src/bin/filter_object_greyscale_solid.c @@ -0,0 +1,107 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_greyscale_solid +#define NAME "Filter Object Greyscale Solid" +#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,*src; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + evas_object_image_file_set(o, build_path("image.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_filter_set(o, EVAS_FILTER_GREYSCALE); + evas_object_layer_set(o,1); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/filter_object_invert.c b/src/bin/filter_object_invert.c new file mode 100644 index 0000000..506dd59 --- /dev/null +++ b/src/bin/filter_object_invert.c @@ -0,0 +1,106 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_invert +#define NAME "Filter Object Invert" +#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,*src; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + 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_filter_set(o, EVAS_FILTER_INVERT); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/filter_object_invert_solid.c b/src/bin/filter_object_invert_solid.c new file mode 100644 index 0000000..03e4eaa --- /dev/null +++ b/src/bin/filter_object_invert_solid.c @@ -0,0 +1,107 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_invert_solid +#define NAME "Filter Object Invert Solid" +#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,*src; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + evas_object_image_file_set(o, build_path("image.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_filter_set(o, EVAS_FILTER_INVERT); + evas_object_layer_set(o,1); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/filter_object_sepia.c b/src/bin/filter_object_sepia.c new file mode 100644 index 0000000..e9db58a --- /dev/null +++ b/src/bin/filter_object_sepia.c @@ -0,0 +1,106 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_sepia +#define NAME "Filter Object Sepia" +#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,*src; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + 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_filter_set(o, EVAS_FILTER_SEPIA); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/filter_object_sepia_solid.c b/src/bin/filter_object_sepia_solid.c new file mode 100644 index 0000000..3f092cf --- /dev/null +++ b/src/bin/filter_object_sepia_solid.c @@ -0,0 +1,107 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME filter_object_sepia_solid +#define NAME "Filter Object Sepia Solid" +#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,*src; + + for (i = 0; i < OBNUM; i++) + { + o = evas_object_image_add(evas); + evas_object_image_file_set(o, build_path("image.png"), NULL); + evas_object_image_fill_set(o, 0, 0, 120, 160); + evas_object_resize(o, 120, 160); + evas_object_filter_set(o, EVAS_FILTER_SEPIA); + evas_object_layer_set(o,1); + evas_object_show(o); + src = o; + o_images[i] = src; + } + + 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++) + { + 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/tests.h b/src/bin/tests.h index e5ec127..970da94 100644 --- a/src/bin/tests.h +++ b/src/bin/tests.h @@ -90,3 +90,13 @@ #include "proxy_text_fixed.c" #include "proxy_text_random.c" #include "image_mask.c" +#include "filter_object_colors.c" +#include "filter_object_colors_solid.c" +#include "filter_object_invert.c" +#include "filter_object_invert_solid.c" +#include "filter_object_greyscale.c" +#include "filter_object_greyscale_solid.c" +#include "filter_object_sepia.c" +#include "filter_object_sepia_solid.c" +#include "filter_object_blur.c" +#include "filter_object_blur_solid.c"