From f0718038bdbe648364bd9a7bf414a69fde8afce0 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 2 Nov 2009 04:18:32 +0000 Subject: [PATCH] tests for the map color values now SVN revision: 43406 --- src/bin/Makefile.am | 8 ++ .../image_map_color_alpha_nearest_rotate.c | 127 ++++++++++++++++++ ...age_map_color_alpha_nearest_solid_rotate.c | 127 ++++++++++++++++++ src/bin/image_map_color_alpha_rotate.c | 125 +++++++++++++++++ src/bin/image_map_color_alpha_solid_rotate.c | 125 +++++++++++++++++ src/bin/image_map_color_nearest_rotate.c | 127 ++++++++++++++++++ .../image_map_color_nearest_solid_rotate.c | 127 ++++++++++++++++++ src/bin/image_map_color_rotate.c | 125 +++++++++++++++++ src/bin/image_map_color_solid_rotate.c | 125 +++++++++++++++++ src/bin/tests.h | 8 ++ 10 files changed, 1024 insertions(+) create mode 100644 src/bin/image_map_color_alpha_nearest_rotate.c create mode 100644 src/bin/image_map_color_alpha_nearest_solid_rotate.c create mode 100644 src/bin/image_map_color_alpha_rotate.c create mode 100644 src/bin/image_map_color_alpha_solid_rotate.c create mode 100644 src/bin/image_map_color_nearest_rotate.c create mode 100644 src/bin/image_map_color_nearest_solid_rotate.c create mode 100644 src/bin/image_map_color_rotate.c create mode 100644 src/bin/image_map_color_solid_rotate.c diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index b8c6824..569b2fa 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -49,6 +49,14 @@ image_map_rotate.c \ image_map_solid_rotate.c \ image_map_nearest_rotate.c \ image_map_nearest_solid_rotate.c \ +image_map_color_rotate.c \ +image_map_color_solid_rotate.c \ +image_map_color_nearest_rotate.c \ +image_map_color_nearest_solid_rotate.c \ +image_map_color_alpha_rotate.c \ +image_map_color_alpha_solid_rotate.c \ +image_map_color_alpha_nearest_rotate.c \ +image_map_color_alpha_nearest_solid_rotate.c \ image_quality_scale.c \ image_data_argb.c \ image_data_argb_alpha.c \ diff --git a/src/bin/image_map_color_alpha_nearest_rotate.c b/src/bin/image_map_color_alpha_nearest_rotate.c new file mode 100644 index 0000000..ef77d84 --- /dev/null +++ b/src/bin/image_map_color_alpha_nearest_rotate.c @@ -0,0 +1,127 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_map_color_alpha_nearest_rotate_start +#define NAME "Image Map Color Alpha Nearest Rotate" +#define ICON "mushroom.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 / 2); 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_image_smooth_scale_set(o, 0); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < (OBNUM / 2); i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + m = evas_map_new(4); + evas_map_smooth_set(m, 0); + for (i = 0; i < (OBNUM / 2); 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_map_point_coord_set (m, 0, x, y, 0); + evas_map_point_image_uv_set(m, 0, 0, 0); + evas_map_point_color_set (m, 0, 255, 255, 255, 255); + + evas_map_point_coord_set (m, 1, x + w, y, 0); + evas_map_point_image_uv_set(m, 1, w, 0); + evas_map_point_color_set (m, 1, 255, 0, 0, 255); + + evas_map_point_coord_set (m, 2, x + w, y + h, 0); + evas_map_point_image_uv_set(m, 2, w, h); + evas_map_point_color_set (m, 2, 0, 0, 255, 255); + + evas_map_point_coord_set (m, 3, x, y + h, 0); + evas_map_point_image_uv_set(m, 3, 0, h); + evas_map_point_color_set (m, 3, 0, 0, 0, 0); + + evas_map_util_rotate(m, f, x + (w / 2), y + (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_map_color_alpha_nearest_solid_rotate.c b/src/bin/image_map_color_alpha_nearest_solid_rotate.c new file mode 100644 index 0000000..bd81b22 --- /dev/null +++ b/src/bin/image_map_color_alpha_nearest_solid_rotate.c @@ -0,0 +1,127 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_map_color_alpha_nearest_solid_rotate_start +#define NAME "Image Map Color Alpha Nearest Solid Rotate" +#define ICON "mushroom.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 / 2); i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + 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_image_smooth_scale_set(o, 0); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < (OBNUM / 2); i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + m = evas_map_new(4); + evas_map_smooth_set(m, 0); + for (i = 0; i < (OBNUM / 2); 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_map_point_coord_set (m, 0, x, y, 0); + evas_map_point_image_uv_set(m, 0, 0, 0); + evas_map_point_color_set (m, 0, 255, 255, 255, 255); + + evas_map_point_coord_set (m, 1, x + w, y, 0); + evas_map_point_image_uv_set(m, 1, w, 0); + evas_map_point_color_set (m, 1, 255, 0, 0, 255); + + evas_map_point_coord_set (m, 2, x + w, y + h, 0); + evas_map_point_image_uv_set(m, 2, w, h); + evas_map_point_color_set (m, 2, 0, 0, 255, 255); + + evas_map_point_coord_set (m, 3, x, y + h, 0); + evas_map_point_image_uv_set(m, 3, 0, h); + evas_map_point_color_set (m, 3, 0, 0, 0, 0); + + evas_map_util_rotate(m, f, x + (w / 2), y + (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_map_color_alpha_rotate.c b/src/bin/image_map_color_alpha_rotate.c new file mode 100644 index 0000000..7c27431 --- /dev/null +++ b/src/bin/image_map_color_alpha_rotate.c @@ -0,0 +1,125 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_map_color_alpha_rotate_start +#define NAME "Image Map Color Alpha Rotate" +#define ICON "mushroom.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 / 2); 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); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < (OBNUM / 2); i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + m = evas_map_new(4); + for (i = 0; i < (OBNUM / 2); 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_map_point_coord_set (m, 0, x, y, 0); + evas_map_point_image_uv_set(m, 0, 0, 0); + evas_map_point_color_set (m, 0, 255, 255, 255, 255); + + evas_map_point_coord_set (m, 1, x + w, y, 0); + evas_map_point_image_uv_set(m, 1, w, 0); + evas_map_point_color_set (m, 1, 255, 0, 0, 255); + + evas_map_point_coord_set (m, 2, x + w, y + h, 0); + evas_map_point_image_uv_set(m, 2, w, h); + evas_map_point_color_set (m, 2, 0, 0, 255, 255); + + evas_map_point_coord_set (m, 3, x, y + h, 0); + evas_map_point_image_uv_set(m, 3, 0, h); + evas_map_point_color_set (m, 3, 0, 0, 0, 0); + + evas_map_util_rotate(m, f, x + (w / 2), y + (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_map_color_alpha_solid_rotate.c b/src/bin/image_map_color_alpha_solid_rotate.c new file mode 100644 index 0000000..b428542 --- /dev/null +++ b/src/bin/image_map_color_alpha_solid_rotate.c @@ -0,0 +1,125 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_map_color_alpha_solid_rotate_start +#define NAME "Image Map Color Alpha Solid Rotate" +#define ICON "mushroom.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 / 2); i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + 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_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < (OBNUM / 2); i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + m = evas_map_new(4); + for (i = 0; i < (OBNUM / 2); 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_map_point_coord_set (m, 0, x, y, 0); + evas_map_point_image_uv_set(m, 0, 0, 0); + evas_map_point_color_set (m, 0, 255, 255, 255, 255); + + evas_map_point_coord_set (m, 1, x + w, y, 0); + evas_map_point_image_uv_set(m, 1, w, 0); + evas_map_point_color_set (m, 1, 255, 0, 0, 255); + + evas_map_point_coord_set (m, 2, x + w, y + h, 0); + evas_map_point_image_uv_set(m, 2, w, h); + evas_map_point_color_set (m, 2, 0, 0, 255, 255); + + evas_map_point_coord_set (m, 3, x, y + h, 0); + evas_map_point_image_uv_set(m, 3, 0, h); + evas_map_point_color_set (m, 3, 0, 0, 0, 0); + + evas_map_util_rotate(m, f, x + (w / 2), y + (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_map_color_nearest_rotate.c b/src/bin/image_map_color_nearest_rotate.c new file mode 100644 index 0000000..671ef3a --- /dev/null +++ b/src/bin/image_map_color_nearest_rotate.c @@ -0,0 +1,127 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_map_color_nearest_rotate_start +#define NAME "Image Map Color Nearest Rotate" +#define ICON "mushroom.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 / 2); 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_image_smooth_scale_set(o, 0); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < (OBNUM / 2); i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + m = evas_map_new(4); + evas_map_smooth_set(m, 0); + for (i = 0; i < (OBNUM / 2); 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_map_point_coord_set (m, 0, x, y, 0); + evas_map_point_image_uv_set(m, 0, 0, 0); + evas_map_point_color_set (m, 0, 255, 255, 255, 255); + + evas_map_point_coord_set (m, 1, x + w, y, 0); + evas_map_point_image_uv_set(m, 1, w, 0); + evas_map_point_color_set (m, 1, 255, 0, 0, 255); + + evas_map_point_coord_set (m, 2, x + w, y + h, 0); + evas_map_point_image_uv_set(m, 2, w, h); + evas_map_point_color_set (m, 2, 0, 0, 255, 255); + + evas_map_point_coord_set (m, 3, x, y + h, 0); + evas_map_point_image_uv_set(m, 3, 0, h); + evas_map_point_color_set (m, 3, 0, 255, 0, 255); + + evas_map_util_rotate(m, f, x + (w / 2), y + (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_map_color_nearest_solid_rotate.c b/src/bin/image_map_color_nearest_solid_rotate.c new file mode 100644 index 0000000..ac45d5a --- /dev/null +++ b/src/bin/image_map_color_nearest_solid_rotate.c @@ -0,0 +1,127 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_map_color_nearest_solid_rotate_start +#define NAME "Image Map Color Nearest Solid Rotate" +#define ICON "mushroom.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 / 2); i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + 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_image_smooth_scale_set(o, 0); + evas_object_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < (OBNUM / 2); i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + m = evas_map_new(4); + evas_map_smooth_set(m, 0); + for (i = 0; i < (OBNUM / 2); 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_map_point_coord_set (m, 0, x, y, 0); + evas_map_point_image_uv_set(m, 0, 0, 0); + evas_map_point_color_set (m, 0, 255, 255, 255, 255); + + evas_map_point_coord_set (m, 1, x + w, y, 0); + evas_map_point_image_uv_set(m, 1, w, 0); + evas_map_point_color_set (m, 1, 255, 0, 0, 255); + + evas_map_point_coord_set (m, 2, x + w, y + h, 0); + evas_map_point_image_uv_set(m, 2, w, h); + evas_map_point_color_set (m, 2, 0, 0, 255, 255); + + evas_map_point_coord_set (m, 3, x, y + h, 0); + evas_map_point_image_uv_set(m, 3, 0, h); + evas_map_point_color_set (m, 3, 0, 255, 0, 255); + + evas_map_util_rotate(m, f, x + (w / 2), y + (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_map_color_rotate.c b/src/bin/image_map_color_rotate.c new file mode 100644 index 0000000..51b46a6 --- /dev/null +++ b/src/bin/image_map_color_rotate.c @@ -0,0 +1,125 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_map_color_rotate_start +#define NAME "Image Map Color Rotate" +#define ICON "mushroom.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 / 2); 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); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < (OBNUM / 2); i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + m = evas_map_new(4); + for (i = 0; i < (OBNUM / 2); 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_map_point_coord_set (m, 0, x, y, 0); + evas_map_point_image_uv_set(m, 0, 0, 0); + evas_map_point_color_set (m, 0, 255, 255, 255, 255); + + evas_map_point_coord_set (m, 1, x + w, y, 0); + evas_map_point_image_uv_set(m, 1, w, 0); + evas_map_point_color_set (m, 1, 255, 0, 0, 255); + + evas_map_point_coord_set (m, 2, x + w, y + h, 0); + evas_map_point_image_uv_set(m, 2, w, h); + evas_map_point_color_set (m, 2, 0, 0, 255, 255); + + evas_map_point_coord_set (m, 3, x, y + h, 0); + evas_map_point_image_uv_set(m, 3, 0, h); + evas_map_point_color_set (m, 3, 0, 255, 0, 255); + + evas_map_util_rotate(m, f, x + (w / 2), y + (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_map_color_solid_rotate.c b/src/bin/image_map_color_solid_rotate.c new file mode 100644 index 0000000..75cc9f2 --- /dev/null +++ b/src/bin/image_map_color_solid_rotate.c @@ -0,0 +1,125 @@ +#undef FNAME +#undef NAME +#undef ICON + +/* metadata */ +#define FNAME image_map_color_solid_rotate_start +#define NAME "Image Map Color Solid Rotate" +#define ICON "mushroom.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 / 2); i++) + { + o = evas_object_image_add(evas); + o_images[i] = o; + 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_show(o); + } + done = 0; +} + +/* cleanup */ +static void _cleanup(void) +{ + int i; + for (i = 0; i < (OBNUM / 2); i++) evas_object_del(o_images[i]); +} + +/* loop - do things */ +static void _loop(double t, int f) +{ + int i; + Evas_Map *m; + Evas_Coord x, y, w, h; + m = evas_map_new(4); + for (i = 0; i < (OBNUM / 2); 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_map_point_coord_set (m, 0, x, y, 0); + evas_map_point_image_uv_set(m, 0, 0, 0); + evas_map_point_color_set (m, 0, 255, 255, 255, 255); + + evas_map_point_coord_set (m, 1, x + w, y, 0); + evas_map_point_image_uv_set(m, 1, w, 0); + evas_map_point_color_set (m, 1, 255, 0, 0, 255); + + evas_map_point_coord_set (m, 2, x + w, y + h, 0); + evas_map_point_image_uv_set(m, 2, w, h); + evas_map_point_color_set (m, 2, 0, 0, 255, 255); + + evas_map_point_coord_set (m, 3, x, y + h, 0); + evas_map_point_image_uv_set(m, 3, 0, h); + evas_map_point_color_set (m, 3, 0, 255, 0, 255); + + evas_map_util_rotate(m, f, x + (w / 2), y + (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/tests.h b/src/bin/tests.h index 72f3e18..1479d7d 100644 --- a/src/bin/tests.h +++ b/src/bin/tests.h @@ -25,6 +25,14 @@ #include "image_map_solid_rotate.c" #include "image_map_nearest_rotate.c" #include "image_map_nearest_solid_rotate.c" +#include "image_map_color_rotate.c" +#include "image_map_color_solid_rotate.c" +#include "image_map_color_nearest_rotate.c" +#include "image_map_color_nearest_solid_rotate.c" +#include "image_map_color_alpha_rotate.c" +#include "image_map_color_alpha_solid_rotate.c" +#include "image_map_color_alpha_nearest_rotate.c" +#include "image_map_color_alpha_nearest_solid_rotate.c" #include "image_quality_scale.c" #include "image_data_argb.c" #include "image_data_argb_alpha.c"