vector: add a scaling test
This commit is contained in:
parent
817b8c3500
commit
b1931c5146
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue