ooh so many more mask tests... and oh so many more mask bugs.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 28 Apr 2011 09:44:29 +0000 (09:44 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 28 Apr 2011 09:44:29 +0000 (09:44 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/expedite@58994 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

18 files changed:
data/Makefile.am
data/e-logo-2.png [new file with mode: 0644]
data/e-logo-mask.png [new file with mode: 0644]
data/texture.png [new file with mode: 0644]
src/bin/Makefile.am
src/bin/image_mask_10.c [new file with mode: 0644]
src/bin/image_mask_11.c [new file with mode: 0644]
src/bin/image_mask_2.c [new file with mode: 0644]
src/bin/image_mask_3.c [new file with mode: 0644]
src/bin/image_mask_4.c [new file with mode: 0644]
src/bin/image_mask_5.c [new file with mode: 0644]
src/bin/image_mask_6.c [new file with mode: 0644]
src/bin/image_mask_7.c [new file with mode: 0644]
src/bin/image_mask_8.c [new file with mode: 0644]
src/bin/image_mask_9.c [new file with mode: 0644]
src/bin/main.h
src/bin/tests.h
src/bin/ui.c

index c84b062..939fc95 100644 (file)
@@ -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 (file)
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 (file)
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 (file)
index 0000000..630726a
Binary files /dev/null and b/data/texture.png differ
index adcfefb..e7db3cf 100644 (file)
@@ -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 (file)
index 0000000..ab89b9d
--- /dev/null
@@ -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 (file)
index 0000000..0b0a67a
--- /dev/null
@@ -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 (file)
index 0000000..550bd3a
--- /dev/null
@@ -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 (file)
index 0000000..39978b3
--- /dev/null
@@ -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 (file)
index 0000000..1657437
--- /dev/null
@@ -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 (file)
index 0000000..288a120
--- /dev/null
@@ -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 (file)
index 0000000..caac8f0
--- /dev/null
@@ -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 (file)
index 0000000..a8ccb87
--- /dev/null
@@ -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 (file)
index 0000000..961a44d
--- /dev/null
@@ -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 (file)
index 0000000..b602ef7
--- /dev/null
@@ -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
index 4a6f880..fc78a7e 100644 (file)
@@ -8,6 +8,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <unistd.h>
 #include <math.h>
 #include <time.h>
 
index 970da94..e6c19b9 100644 (file)
 #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"
index b5db731..6ab61d1 100644 (file)
@@ -157,13 +157,42 @@ static double weights[] =
      38.2952, // test 86
      5.5560,
      0.5000,
-     10.000, // Proxy tests
+     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
 };