yakov pushed a commit to branch master.

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

commit b1931c5146f90b9b7767eaad523b460a6b67e84f
Author: Yakov Goldberg <yako...@samsung.com>
Date:   Tue Jun 23 17:03:49 2015 +0300

    vector: add a scaling test
---
 src/bin/Makefile.am |   3 +-
 src/bin/tests.h     |   1 +
 src/bin/vg_scaled.c | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 148 insertions(+), 1 deletion(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 253400d..afe6caf 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -125,7 +125,8 @@ image_mask_10.c \
 image_mask_11.c \
 image_mask_12.c \
 image_mask_13.c \
-vg_basic.c
+vg_basic.c \
+vg_scaled.c
 # \
 # image_mask_14.c \
 # image_mask_15.c
diff --git a/src/bin/tests.h b/src/bin/tests.h
index 97b95c9..ed9e3ef 100644
--- a/src/bin/tests.h
+++ b/src/bin/tests.h
@@ -107,6 +107,7 @@
 #include "image_mask_12.c"
 #include "image_mask_13.c"
 #include "vg_basic.c"
+#include "vg_scaled.c"
 #if 0 // test disabled - evas having code disabled
 #include "image_mask_14.c"
 #include "image_mask_15.c"
diff --git a/src/bin/vg_scaled.c b/src/bin/vg_scaled.c
new file mode 100644
index 0000000..1e270a3
--- /dev/null
+++ b/src/bin/vg_scaled.c
@@ -0,0 +1,145 @@
+#undef FNAME
+#undef NAME
+#undef ICON
+
+/* metadata */
+#define FNAME vg_scaled_start
+#define NAME "VG Scaled"
+#define ICON "vector.png"
+
+#ifndef PROTO
+# ifndef UI
+#  include "main.h"
+
+/* standard var */
+static int done = 0;
+
+/* private data */
+static Eo *o_objects[OBNUM], *o_shapes[OBNUM], *o_gradient[OBNUM];
+
+static const Efl_Gfx_Gradient_Stop stops[3] = {
+  { 0, 255, 0, 0, 255 },
+  { 0.5, 0, 255, 0, 255 },
+  { 1, 0, 0, 255, 255 }
+};
+
+/* setup
+ * Creating Evas Objects, each holds a vector shape.
+ * Then start moving these Evas Objects. */
+static void _setup(void)
+{
+   unsigned int i;
+
+   for (i = 0; i < OBNUM; i++)
+     {
+        Efl_VG *root, *gradient, *rect;
+        Eo *vector;
+        double w = 70, h = 70, stroke_w = 3;
+
+        vector = eo_add(EVAS_VG_CLASS, evas);
+        o_objects[i] = vector;
+        eo_do(vector,
+              efl_gfx_size_set(w + stroke_w * 2, h + stroke_w * 2),
+              efl_gfx_position_set(0, 0),
+              efl_gfx_visible_set(EINA_TRUE));
+
+        eo_do(vector, root = evas_obj_vg_root_node_get());
+
+        o_gradient[i] = gradient = eo_add(EFL_VG_GRADIENT_LINEAR_CLASS, root);
+        eo_do(gradient,
+              efl_gfx_gradient_stop_set(stops, 3),
+              efl_gfx_gradient_spread_set(EFL_GFX_GRADIENT_SPREAD_REFLECT),
+              efl_gfx_gradient_linear_start_set(10, 10),
+              efl_gfx_gradient_linear_end_set(50, 50));
+
+        o_shapes[i] = rect = eo_add(EFL_VG_SHAPE_CLASS, root);
+        eo_do(rect,
+              efl_gfx_shape_append_rect(0 + stroke_w, 0 + stroke_w, w, h, 10, 
10),
+              efl_vg_shape_fill_set(gradient),
+              efl_gfx_shape_stroke_width_set(stroke_w),
+              efl_gfx_shape_stroke_color_set(128, 0, 128, 128),
+              efl_gfx_shape_stroke_join_set(EFL_GFX_JOIN_ROUND));
+     }
+   done = 0;
+}
+
+/* cleanup */
+static void _cleanup(void)
+{
+   unsigned int i;
+
+   for (i = 0; i < OBNUM; i++) eo_del(o_objects[i]);
+}
+
+/* loop - do things */
+static void _loop(double t, int f)
+{
+   int i;
+   Evas_Coord x, y, w, h, w0 = 70, h0 = 70;
+   double stroke_w = 3;
+   for (i = 0; i < OBNUM; i++)
+     {
+        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_objects[i],
+              efl_gfx_position_set(x, y),
+              efl_gfx_size_set(w + stroke_w * 2, h + stroke_w * 2),
+              efl_gfx_fill_set(0, 0, w, h)
+              );
+        eo_do(o_shapes[i],
+              efl_gfx_shape_reset(),
+              efl_gfx_shape_append_rect(0 + stroke_w, 0 + stroke_w, w, h, 10, 
10),
+              efl_vg_shape_fill_set(o_gradient[i]),
+              efl_gfx_shape_stroke_width_set(stroke_w),
+              efl_gfx_shape_stroke_color_set(128, 0, 128, 128),
+              efl_gfx_shape_stroke_join_set(EFL_GFX_JOIN_ROUND));
+
+     }
+   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

-- 


Reply via email to