cedric pushed a commit to branch master.

http://git.enlightenment.org/tools/expedite.git/commit/?id=c4dfca2b016721cacd0777753b717092e15a5eba

commit c4dfca2b016721cacd0777753b717092e15a5eba
Author: jiin.moon <jiin.m...@samsung.com>
Date:   Wed Feb 11 18:57:11 2015 +0100

    expedite: add test case for image masking
    
    Summary: Add some test case to the expedite
    
    Reviewers: jpeg, cedric, Hermet
    
    Subscribers: cedric
    
    Differential Revision: https://phab.enlightenment.org/D1896
    
    Signed-off-by: Cedric BAIL <ced...@osg.samsung.com>
---
 configure.ac            |   2 +-
 src/bin/Makefile.am     |  30 ++++++------
 src/bin/image_mask.c    | 113 ++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_10.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_11.c | 126 +++++++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_12.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_13.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_2.c  | 113 ++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_3.c  | 113 ++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_4.c  | 115 +++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_5.c  | 115 +++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_6.c  | 115 +++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_7.c  | 121 +++++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_8.c  | 115 +++++++++++++++++++++++++++++++++++++++++++
 src/bin/image_mask_9.c  | 127 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/bin/tests.h         |   2 +-
 16 files changed, 1556 insertions(+), 17 deletions(-)

diff --git a/configure.ac b/configure.ac
index 041dfc9..8e59499 100644
--- a/configure.ac
+++ b/configure.ac
@@ -50,7 +50,7 @@ esac
 
 # EFL dependencies
 
-PKG_CHECK_MODULES([EFL], eina >= 1.7.99 efl >= 1.11.99 eo >= 1.7.99 evas >= 
1.7.99 eet >= 1.7.99 ecore-evas >= 1.7.99 ecore >= 1.7.99)
+PKG_CHECK_MODULES([EFL], eina >= 1.7.99 efl >= 1.13.0 eo >= 1.7.99 evas >= 
1.7.99 eet >= 1.7.99 ecore-evas >= 1.7.99 ecore >= 1.7.99)
 
 EFL_ENABLE_EO_API_SUPPORT
 EFL_ENABLE_BETA_API_SUPPORT
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 68680ab..1cc92a1 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -111,21 +111,21 @@ proxy_text_random.c \
 line_blend.c \
 image_blend_many_smooth_same_scaled.c \
 font_effect_blur_alpha.c \
-font_effect_blur_color.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 \
-# image_mask_12.c \
-# image_mask_13.c \
+font_effect_blur_color.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 \
+image_mask_12.c \
+image_mask_13.c
+# \
 # image_mask_14.c \
 # image_mask_15.c
 
diff --git a/src/bin/image_mask.c b/src/bin/image_mask.c
new file mode 100644
index 0000000..e3ccd38
--- /dev/null
+++ b/src/bin/image_mask.c
@@ -0,0 +1,113 @@
+#undef FNAME
+#undef NAME
+#undef ICON
+
+/* metadata */
+#define FNAME image_mask
+#define NAME "Image Mask"
+#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 = eo_add(EVAS_IMAGE_CLASS, evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("image.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_visibility_set(EINA_TRUE));
+
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i + 1] = o;
+        eo_do(o,
+              efl_file_set(build_path("e-logo.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_visibility_set(EINA_TRUE));
+
+        eo_do(o_images[i], evas_obj_clip_set(o));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_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);
+        eo_do(o_images[i], evas_obj_position_set(x, y));
+        eo_do(o_images[i + 1], evas_obj_position_set(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_10.c b/src/bin/image_mask_10.c
new file mode 100644
index 0000000..d759d45
--- /dev/null
+++ b/src/bin/image_mask_10.c
@@ -0,0 +1,122 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-mask.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 720, 420),
+         evas_obj_size_set(720, 420),
+         evas_obj_position_set((win_w - 720) / 2, (win_h - 420) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < 1; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("texture.png"), NULL),
+              evas_obj_image_fill_set(0, 0, win_w * 4, win_h * 4),
+              evas_obj_size_set(win_w * 4, win_h * 4),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < 1; i++) eo_del(o_images[i]);
+   eo_del(o_mask);
+}
+
+/* loop - do things */
+static void _loop(double t, int f)
+{
+   int i;
+   static Evas_Map *m = NULL;
+   Evas_Coord x, y, w, h;
+   if (!m) m = evas_map_new(4);
+   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);
+        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);
+
+        eo_do(o_images[i],
+              evas_obj_map_enable_set(1),
+              evas_obj_map_set(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..df34620
--- /dev/null
+++ b/src/bin/image_mask_11.c
@@ -0,0 +1,126 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-mask.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 720, 420),
+         evas_obj_size_set(720, 420),
+         evas_obj_position_set((win_w - 720) / 2, (win_h - 420) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < OBNUM; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("logo.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_del(o_images[i]);
+   eo_del(o_mask);
+}
+
+/* loop - do things */
+static void _loop(double t, int f)
+{
+   int i;
+   static Evas_Map *m = NULL;
+   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);
+        eo_do(o_images[i], evas_obj_position_set(x, y));
+     }
+   if (!m) 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);
+
+   eo_do(o_mask,
+         evas_obj_map_enable_set(1),
+         evas_obj_map_set(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_12.c b/src/bin/image_mask_12.c
new file mode 100644
index 0000000..b19b404
--- /dev/null
+++ b/src/bin/image_mask_12.c
@@ -0,0 +1,122 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-mask.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 720, 420),
+         evas_obj_size_set(720, 420),
+         evas_obj_position_set((win_w - 720) / 2, (win_h - 420) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < OBNUM; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("logo.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              efl_image_smooth_scale_set(1),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_del(o_images[i]);
+   eo_del(o_mask);
+}
+
+/* loop - do things */
+static void _loop(double t, int f)
+{
+   int i;
+   Evas_Coord x, y, w, h, w0, h0;
+   for (i = 0; i < OBNUM; i++)
+     {
+        w0 = 80;
+        h0 = 80;
+        w = 5 + ((1.0 + cos((double)(f + (i * 10)) / (7.4 * SLOW) )) * w0 * 2);
+        h = 5 + ((1.0 + sin((double)(f + (i * 19)) / (12.6 * SLOW) )) * h0 * 
2);
+        x = (win_w / 2) - (w / 2);
+        x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w0 / 2);
+        y = (win_h / 2) - (h / 2);
+        y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h0 / 2);
+
+        eo_do(o_images[i],
+              evas_obj_position_set(x, y),
+              evas_obj_size_set(w, h),
+              evas_obj_image_fill_set(0, 0, w, h));
+     }
+   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..88240bb
--- /dev/null
+++ b/src/bin/image_mask_13.c
@@ -0,0 +1,122 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-mask.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 720, 420),
+         evas_obj_size_set(720, 420),
+         evas_obj_position_set((win_w - 720) / 2, (win_h - 420) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < OBNUM; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("logo.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              efl_image_smooth_scale_set(0),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_del(o_images[i]);
+   eo_del(o_mask);
+}
+
+/* loop - do things */
+static void _loop(double t, int f)
+{
+   int i;
+   Evas_Coord x, y, w, h, w0, h0;
+   for (i = 0; i < OBNUM; i++)
+     {
+        w0 = 80;
+        h0 = 80;
+        w = 5 + ((1.0 + cos((double)(f + (i * 10)) / (7.4 * SLOW) )) * w0 * 2);
+        h = 5 + ((1.0 + sin((double)(f + (i * 19)) / (12.6 * SLOW) )) * h0 * 
2);
+        x = (win_w / 2) - (w / 2);
+        x += sin((double)(f + (i * 13)) / (36.7 * SLOW)) * (w0 / 2);
+        y = (win_h / 2) - (h / 2);
+        y += cos((double)(f + (i * 28)) / (43.8 * SLOW)) * (h0 / 2);
+
+        eo_do(o_images[i],
+              evas_obj_position_set(x, y),
+              evas_obj_size_set(w, h),
+              evas_obj_image_fill_set(0, 0, w, h));
+     }
+   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..7c4b34f
--- /dev/null
+++ b/src/bin/image_mask_2.c
@@ -0,0 +1,113 @@
+#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 = eo_add(EVAS_IMAGE_CLASS, evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("image.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_visibility_set(EINA_TRUE));
+
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i + 1] = o;
+        eo_do(o,
+              efl_file_set(build_path("e-logo-2.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_visibility_set(EINA_TRUE));
+
+        eo_do(o_images[i], evas_obj_clip_set(o));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_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);
+        eo_do(o_images[i], evas_obj_position_set(x, y));
+        eo_do(o_images[i + 1], evas_obj_position_set(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..7d3e72d
--- /dev/null
+++ b/src/bin/image_mask_3.c
@@ -0,0 +1,113 @@
+#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 = eo_add(EVAS_IMAGE_CLASS, evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("e-logo-2.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_visibility_set(EINA_TRUE));
+
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i + 1] = o;
+        eo_do(o,
+              efl_file_set(build_path("logo.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_visibility_set(EINA_TRUE));
+
+        eo_do(o_images[i], evas_obj_clip_set(o));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_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);
+        eo_do(o_images[i], evas_obj_position_set(x, y));
+        eo_do(o_images[i + 1], evas_obj_position_set(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..e342170
--- /dev/null
+++ b/src/bin/image_mask_4.c
@@ -0,0 +1,115 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-mask.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 720, 420),
+         evas_obj_size_set(720, 420),
+         evas_obj_position_set((win_w - 720) / 2, (win_h - 420) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < OBNUM; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("logo.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_del(o_images[i]);
+   eo_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);
+        eo_do(o_images[i], evas_obj_position_set(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..4499252
--- /dev/null
+++ b/src/bin/image_mask_5.c
@@ -0,0 +1,115 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-2.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 120, 160),
+         evas_obj_size_set(120, 160),
+         evas_obj_position_set((win_w - 120) / 2, (win_h - 160) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < OBNUM; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("logo.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_del(o_images[i]);
+   eo_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);
+        eo_do(o_images[i], evas_obj_position_set(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..e2cf72f
--- /dev/null
+++ b/src/bin/image_mask_6.c
@@ -0,0 +1,115 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-mask.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 720, 420),
+         evas_obj_size_set(720, 420),
+         evas_obj_position_set((win_w - 720) / 2, (win_h - 420) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < OBNUM; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("logo.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120 / 2, 160 / 2),
+              evas_obj_size_set(120 / 2, 160 / 2),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_del(o_images[i]);
+   eo_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);
+        eo_do(o_images[i], evas_obj_position_set(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..e75eeaa
--- /dev/null
+++ b/src/bin/image_mask_7.c
@@ -0,0 +1,121 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-2.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 120, 160),
+         evas_obj_size_set(120, 160),
+         evas_obj_position_set((win_w - 120) / 2, (win_h - 160) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < OBNUM; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("logo.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 120, 160),
+              evas_obj_size_set(120, 160),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < OBNUM; i++) eo_del(o_images[i]);
+   eo_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);
+        eo_do(o_images[i], evas_obj_position_set(x, y));
+     }
+   w = 10 + (110 + (110 * sin((double)(f) / (14.3 * SLOW))));
+   h = 10 + (150 + (150 * sin((double)(f) / (21.7 * SLOW))));
+   eo_do(o_mask,
+         evas_obj_image_fill_set(0, 0, w, h),
+         evas_obj_size_set(w, h),
+         evas_obj_position_set((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..d616496
--- /dev/null
+++ b/src/bin/image_mask_8.c
@@ -0,0 +1,115 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-mask.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 720, 420),
+         evas_obj_size_set(720, 420),
+         evas_obj_position_set((win_w - 720) / 2, (win_h - 420) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < 1; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("texture.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 500, 444),
+              evas_obj_size_set(win_w * 4, win_h * 4),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < 1; i++) eo_del(o_images[i]);
+   eo_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);
+        eo_do(o_images[i], evas_obj_position_set(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..e50be76
--- /dev/null
+++ b/src/bin/image_mask_9.c
@@ -0,0 +1,127 @@
+#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 = eo_add(EVAS_IMAGE_CLASS,evas);
+   o_mask = o;
+   eo_do(o,
+         efl_file_set(build_path("e-logo-mask.png"), NULL),
+         evas_obj_image_fill_set(0, 0, 720, 420),
+         evas_obj_size_set(720, 420),
+         evas_obj_position_set((win_w - 720) / 2, (win_h - 420) / 2),
+         evas_obj_visibility_set(EINA_TRUE));
+
+   for (i = 0; i < 1; i++)
+     {
+        o = eo_add(EVAS_IMAGE_CLASS,evas);
+        o_images[i] = o;
+        eo_do(o,
+              efl_file_set(build_path("texture.png"), NULL),
+              evas_obj_image_fill_set(0, 0, 500, 444),
+              evas_obj_size_set(win_w * 4, win_h * 4),
+              evas_obj_clip_set(o_mask),
+              evas_obj_visibility_set(EINA_TRUE));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   int i;
+   for (i = 0; i < 1; i++) eo_del(o_images[i]);
+   eo_del(o_mask);
+}
+
+/* loop - do things */
+static void _loop(double t, int f)
+{
+   int i;
+   static Evas_Map *m = NULL;
+   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);
+        eo_do(o_images[i], evas_obj_position_set(x, y));
+     }
+   if (!m) 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);
+
+   eo_do(o_mask,
+         evas_obj_map_enable_set(1),
+         evas_obj_map_set(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 998b0e5..2189ee4 100644
--- a/src/bin/tests.h
+++ b/src/bin/tests.h
@@ -93,7 +93,6 @@
 #include "image_blend_many_smooth_same_scaled.c"
 #include "font_effect_blur_alpha.c"
 #include "font_effect_blur_color.c"
-#if 0 // test disabled - evas having code disabled
 #include "image_mask.c"
 #include "image_mask_2.c"
 #include "image_mask_3.c"
@@ -107,6 +106,7 @@
 #include "image_mask_11.c"
 #include "image_mask_12.c"
 #include "image_mask_13.c"
+#if 0 // test disabled - evas having code disabled
 #include "image_mask_14.c"
 #include "image_mask_15.c"
 #include "filter_object_colors.c"

-- 


Reply via email to