evas: move Evas.VG_* to Efl.VG.*

This also introduce legacy API for all of them.
This commit is contained in:
Cedric BAIL 2015-04-03 16:30:59 +02:00
parent dd1cae7329
commit eb2bd9a8d8
27 changed files with 878 additions and 451 deletions

View File

@ -33,14 +33,14 @@ evas_eolian_files = \
lib/evas/canvas/evas_3d_scene.eo\
lib/evas/canvas/evas_3d_object.eo \
lib/evas/canvas/evas_vg.eo \
lib/evas/canvas/evas_vg_node.eo \
lib/evas/canvas/evas_vg_container.eo \
lib/evas/canvas/evas_vg_shape.eo \
lib/evas/canvas/evas_vg_root_node.eo \
lib/evas/canvas/evas_vg_gradient.eo \
lib/evas/canvas/evas_vg_gradient_radial.eo \
lib/evas/canvas/evas_vg_gradient_linear.eo \
lib/evas/canvas/evas_vg_image.eo
lib/evas/canvas/efl_vg_base.eo \
lib/evas/canvas/efl_vg_container.eo \
lib/evas/canvas/efl_vg_shape.eo \
lib/evas/canvas/efl_vg_root_node.eo \
lib/evas/canvas/efl_vg_gradient.eo \
lib/evas/canvas/efl_vg_gradient_radial.eo \
lib/evas/canvas/efl_vg_gradient_linear.eo \
lib/evas/canvas/efl_vg_image.eo
evas_eolian_c = $(evas_eolian_files:%.eo=%.eo.c)
evas_eolian_h = $(evas_eolian_files:%.eo=%.eo.h) \

View File

@ -35,14 +35,14 @@ lib/evas/canvas/evas_3d_object.eo.hh \
lib/evas/canvas/evas_3d_scene.eo.hh \
lib/evas/canvas/evas_3d_texture.eo.hh \
lib/evas/canvas/evas_vg.eo.hh \
lib/evas/canvas/evas_vg_node.eo.hh \
lib/evas/canvas/evas_vg_container.eo.hh \
lib/evas/canvas/evas_vg_shape.eo.hh \
lib/evas/canvas/evas_vg_root_node.eo.hh \
lib/evas/canvas/evas_vg_gradient.eo.hh \
lib/evas/canvas/evas_vg_gradient_radial.eo.hh \
lib/evas/canvas/evas_vg_gradient_linear.eo.hh \
lib/evas/canvas/evas_vg_image.eo.hh
lib/evas/canvas/efl_vg_base.eo.hh \
lib/evas/canvas/efl_vg_container.eo.hh \
lib/evas/canvas/efl_vg_shape.eo.hh \
lib/evas/canvas/efl_vg_root_node.eo.hh \
lib/evas/canvas/efl_vg_gradient.eo.hh \
lib/evas/canvas/efl_vg_gradient_radial.eo.hh \
lib/evas/canvas/efl_vg_gradient_linear.eo.hh \
lib/evas/canvas/efl_vg_image.eo.hh
lib/evas/Evas.hh: $(generated_evas_canvas_cxx_bindings)
@echo @ECHO_E@ "#ifndef EFL_CXX_EVAS_HH\n#define EFL_CXX_EVAS_HH\n" > $(top_builddir)/src/lib/evas/Evas.hh

View File

@ -312,6 +312,11 @@ typedef Eo Evas_Object;
/* This define is used in H files generated by Eolian */
#define _EVAS_OBJECT_EO_CLASS_TYPE
/**
* Type of abstract VG node
*/
typedef Eo Efl_VG;
typedef void Evas_Performance; /**< An Evas Performance handle */
typedef struct _Evas_Modifier Evas_Modifier; /**< An opaque type containing information on which modifier keys are registered in an Evas canvas */
typedef struct _Evas_Lock Evas_Lock; /**< An opaque type containing information on which lock keys are registered in an Evas canvas */

View File

@ -845,11 +845,6 @@ typedef enum _Evas_3D_Material_Attrib
#include "canvas/evas_3d_object.eo.h"
/**
* Type of abstract VG node
*/
typedef Eo Evas_VG_Node;
/**
* @ingroup Evas_Object_VG
*
@ -860,10 +855,10 @@ typedef Eo Evas_VG_Node;
* @}
*/
#include "canvas/evas_vg_node.eo.h"
#include "canvas/evas_vg_container.eo.h"
#include "canvas/evas_vg_shape.eo.h"
#include "canvas/evas_vg_gradient.eo.h"
#include "canvas/evas_vg_gradient_linear.eo.h"
#include "canvas/evas_vg_gradient_radial.eo.h"
#include "canvas/evas_vg_image.eo.h"
#include "canvas/efl_vg_base.eo.h"
#include "canvas/efl_vg_container.eo.h"
#include "canvas/efl_vg_shape.eo.h"
#include "canvas/efl_vg_gradient.eo.h"
#include "canvas/efl_vg_gradient_linear.eo.h"
#include "canvas/efl_vg_gradient_radial.eo.h"
#include "canvas/efl_vg_image.eo.h"

View File

@ -1710,13 +1710,79 @@ EAPI Evas_Object *evas_object_rectangle_add(Evas *e) EINA_WARN_UNUSED_RESULT EIN
*/
EAPI Evas_Object *evas_object_vg_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
#include "canvas/evas_vg_node.eo.legacy.h"
#include "canvas/evas_vg.eo.legacy.h"
#include "canvas/evas_vg_shape.eo.legacy.h"
#include "canvas/evas_vg_gradient.eo.legacy.h"
#include "canvas/evas_vg_gradient_linear.eo.legacy.h"
#include "canvas/evas_vg_gradient_radial.eo.legacy.h"
#include "canvas/evas_vg_image.eo.legacy.h"
EAPI Eina_Bool evas_vg_node_visible_get(Eo *obj);
EAPI void evas_vg_node_visible_set(Eo *obj, Eina_Bool v);
EAPI void evas_vg_node_color_get(Eo *obj, int *r, int *g, int *b, int *a);
EAPI void evas_vg_node_color_set(Eo *obj, int r, int g, int b, int a);
EAPI void evas_vg_node_geometry_get(Eo *obj, int *x, int *y, int *w, int *h);
EAPI void evas_vg_node_geometry_set(Eo *obj, int x, int y, int w, int h);
EAPI void evas_vg_node_stack_below(Eo *obj, Eo *below);
EAPI void evas_vg_node_stack_above(Eo *obj, Eo *above);
EAPI void evas_vg_node_raise(Eo *obj);
EAPI void evas_vg_node_lower(Eo *obj);
#include "canvas/efl_vg_base.eo.legacy.h"
EAPI double evas_vg_shape_stroke_scale_get(Eo *obj);
EAPI void evas_vg_shape_stroke_scale_set(Eo *obj, double s);
EAPI void evas_vg_shape_stroke_color_get(Eo *obj, int *r, int *g, int *b, int *a);
EAPI void evas_vg_shape_stroke_color_set(Eo *obj, int r, int g, int b, int a);
EAPI double evas_vg_shape_stroke_width_get(Eo *obj);
EAPI void evas_vg_shape_stroke_width_set(Eo *obj, double w);
EAPI double evas_vg_shape_stroke_location_get(Eo *obj);
EAPI void evas_vg_shape_stroke_location_set(Eo *obj, double centered);
EAPI void evas_vg_shape_stroke_dash_get(Eo *obj, const Efl_Gfx_Dash **dash, unsigned int *length);
EAPI void evas_vg_shape_stroke_dash_set(Eo *obj, const Efl_Gfx_Dash *dash, unsigned int length);
EAPI Efl_Gfx_Cap evas_vg_shape_stroke_cap_get(Eo *obj);
EAPI void evas_vg_shape_stroke_cap_set(Eo *obj, Efl_Gfx_Cap c);
EAPI Efl_Gfx_Join evas_vg_shape_stroke_join_get(Eo *obj);
EAPI void evas_vg_shape_stroke_join_set(Eo *obj, Efl_Gfx_Join j);
EAPI void evas_vg_shape_shape_path_set(Eo *obj, const Efl_Gfx_Path_Command *op, const double *points);
EAPI void evas_vg_shape_shape_path_get(Eo *obj, const Efl_Gfx_Path_Command **op, const double **points);
EAPI void evas_vg_shape_shape_path_length_get(Eo *obj, unsigned int *commands, unsigned int *points);
EAPI void evas_vg_shape_shape_current_get(Eo *obj, double *x, double *y);
EAPI void evas_vg_shape_shape_current_ctrl_get(Eo *obj, double *x, double *y);
EAPI void evas_vg_shape_shape_dup(Eo *obj, Eo *dup_from);
EAPI void evas_vg_shape_shape_reset(Eo *obj);
EAPI void evas_vg_shape_shape_append_move_to(Eo *obj, double x, double y);
EAPI void evas_vg_shape_shape_append_line_to(Eo *obj, double x, double y);
EAPI void evas_vg_shape_shape_append_quadratic_to(Eo *obj, double x, double y, double ctrl_x, double ctrl_y);
EAPI void evas_vg_shape_shape_append_squadratic_to(Eo *obj, double x, double y);
EAPI void evas_vg_shape_shape_append_cubic_to(Eo *obj, double x, double y, double ctrl_x0, double ctrl_y0, double ctrl_x1, double ctrl_y1);
EAPI void evas_vg_shape_shape_append_scubic_to(Eo *obj, double x, double y, double ctrl_x, double ctrl_y);
EAPI void evas_vg_shape_shape_append_arc_to(Eo *obj, double x, double y, double rx, double ry, double angle, Eina_Bool large_arc, Eina_Bool sweep);
EAPI void evas_vg_shape_shape_append_close(Eo *obj);
EAPI void evas_vg_shape_shape_append_circle(Eo *obj, double x, double y, double radius);
EAPI void evas_vg_shape_shape_append_svg_path(Eo *obj, const char *svg_path_data);
EAPI Eina_Bool evas_vg_shape_shape_interpolate(Eo *obj, const Eo *from, const Eo *to, double pos_map);
EAPI Eina_Bool evas_vg_shape_shape_equal_commands(Eo *obj, const Eo *with);
#include "canvas/efl_vg_shape.eo.legacy.h"
EAPI void evas_vg_gradient_stop_set(Eo *obj, const Efl_Gfx_Gradient_Stop *colors, unsigned int length);
EAPI void evas_vg_gradient_stop_get(Eo *obj, const Efl_Gfx_Gradient_Stop **colors, unsigned int *length);
EAPI void evas_vg_gradient_spread_set(Eo *obj, Efl_Gfx_Gradient_Spread s);
EAPI Efl_Gfx_Gradient_Spread evas_vg_gradient_spread_get(Eo *obj);
#include "canvas/efl_vg_gradient.eo.legacy.h"
EAPI void evas_vg_gradient_linear_start_set(Eo *obj, double x, double y);
EAPI void evas_vg_gradient_linear_start_get(Eo *obj, double *x, double *y);
EAPI void evas_vg_gradient_linear_end_set(Eo *obj, double x, double y);
EAPI void evas_vg_gradient_linear_end_get(Eo *obj, double *x, double *y);
#include "canvas/efl_vg_gradient_linear.eo.legacy.h"
EAPI void evas_vg_gradient_radial_center_set(Eo *obj, double x, double y);
EAPI void evas_vg_gradient_radial_center_get(Eo *obj, double *x, double *y);
EAPI void evas_vg_gradient_radial_radius_set(Eo *obj, double r);
EAPI double evas_vg_gradient_radial_radius_get(Eo *obj);
EAPI void evas_vg_gradient_radial_focal_set(Eo *obj, double x, double y);
EAPI void evas_vg_gradient_radial_focal_get(Eo *obj, double *x, double *y);
#include "canvas/efl_vg_gradient_radial.eo.legacy.h"
/**
* @}

View File

@ -1,7 +1,7 @@
abstract Evas.VG_Node (Eo.Base, Efl.Gfx.Base, Efl.Gfx.Stack)
abstract Efl.VG.Base (Eo.Base, Efl.Gfx.Base, Efl.Gfx.Stack)
{
eo_prefix: evas_vg_node;
legacy_prefix: null;
eo_prefix: efl_vg;
legacy_prefix: evas_vg_node;
properties {
transformation {
set {
@ -45,7 +45,7 @@ abstract Evas.VG_Node (Eo.Base, Efl.Gfx.Base, Efl.Gfx.Stack)
get {
}
values {
Evas_VG_Node *m;
Efl_VG *m;
}
}
/* quality {

View File

@ -0,0 +1,9 @@
class Efl.VG.Container (Efl.VG.Base)
{
legacy_prefix: evas_vg_container;
implements {
Eo.Base.constructor;
Eo.Base.destructor;
Efl.VG.Base.bound_get;
}
}

View File

@ -1,7 +1,6 @@
abstract Evas.VG_Gradient (Evas.VG_Node, Efl.Gfx.Gradient.Base)
abstract Efl.VG.Gradient (Efl.VG.Base, Efl.Gfx.Gradient.Base)
{
eo_prefix: evas_vg_gradient;
legacy_prefix: null;
legacy_prefix: evas_vg_gradient;
implements {
Efl.Gfx.Gradient.Base.stop.set;
Efl.Gfx.Gradient.Base.stop.get;

View File

@ -1,7 +1,6 @@
class Evas.VG_Gradient_Linear (Evas.VG_Gradient, Efl.Gfx.Gradient.Linear)
class Efl.VG.Gradient_Linear (Efl.VG.Gradient, Efl.Gfx.Gradient.Linear)
{
eo_prefix: evas_vg_gradient_linear;
legacy_prefix: null;
legacy_prefix: evas_vg_gradient_linear;
implements {
Efl.Gfx.Gradient.Linear.start.set;
Efl.Gfx.Gradient.Linear.start.get;

View File

@ -1,7 +1,6 @@
class Evas.VG_Gradient_Radial (Evas.VG_Gradient, Efl.Gfx.Gradient.Radial)
class Efl.VG.Gradient_Radial (Efl.VG.Gradient, Efl.Gfx.Gradient.Radial)
{
eo_prefix: evas_vg_gradient_radial;
legacy_prefix: null;
legacy_prefix: evas_vg_gradient_radial;
implements {
Efl.Gfx.Gradient.Radial.center.set;
Efl.Gfx.Gradient.Radial.center.get;

View File

@ -1,7 +1,6 @@
class Evas.VG_Image (Evas.VG_Node, Efl.File)
class Efl.VG.Image (Efl.VG.Base, Efl.File)
{
eo_prefix: evas_vg_image;
legacy_prefix: null;
legacy_prefix: evas_vg_image;
properties {
position {
set {

View File

@ -0,0 +1,8 @@
class Efl.VG.Root_Node (Efl.VG.Container)
{
legacy_prefix: evas_vg_root_node;
implements {
Eo.Base.parent.set;
Eo.Base.constructor;
}
}

View File

@ -1,7 +1,6 @@
class Evas.VG_Shape (Evas.VG_Node, Efl.Gfx.Shape)
class Efl.VG.Shape (Efl.VG.Base, Efl.Gfx.Shape)
{
eo_prefix: evas_vg_shape;
legacy_prefix: null;
legacy_prefix: evas_vg_shape;
properties {
fill {
set {
@ -9,7 +8,7 @@ class Evas.VG_Shape (Evas.VG_Node, Efl.Gfx.Shape)
get {
}
values {
Evas_VG_Node *f;
Efl_VG *f;
}
}
stroke_fill {
@ -18,7 +17,7 @@ class Evas.VG_Shape (Evas.VG_Node, Efl.Gfx.Shape)
get {
}
values {
Evas_VG_Node *f;
Efl_VG *f;
}
}
stroke_marker {
@ -27,7 +26,7 @@ class Evas.VG_Shape (Evas.VG_Node, Efl.Gfx.Shape)
get {
}
values {
Evas_VG_Node *m;
Efl_VG *m;
}
}
}
@ -41,7 +40,7 @@ class Evas.VG_Shape (Evas.VG_Node, Efl.Gfx.Shape)
Efl.Gfx.Shape.stroke_join;
Efl.Gfx.Base.color_part.set;
Efl.Gfx.Base.color_part.get;
Evas.VG_Node.bound_get;
Efl.VG.Base.bound_get;
Eo.Base.constructor;
Eo.Base.destructor;
}

View File

@ -2,7 +2,7 @@
#include "evas_private.h"
#include "evas_vg_private.h"
#include "evas_vg_root_node.eo.h"
#include "efl_vg_root_node.eo.h"
#define MY_CLASS EVAS_VG_CLASS
@ -16,8 +16,8 @@ typedef struct _Evas_VG_Data Evas_VG_Data;
struct _Evas_VG_Data
{
void *engine_data;
Evas_VG_Node *root;
void *engine_data;
Efl_VG *root;
/* Opening an SVG file (could actually be inside an eet section */
Eina_File *f;
@ -89,7 +89,7 @@ evas_object_vg_add(Evas *e)
return eo_obj;
}
Evas_VG_Node *
Efl_VG *
_evas_vg_root_node_get(Eo *obj EINA_UNUSED, Evas_VG_Data *pd)
{
return pd->root;
@ -116,7 +116,7 @@ _evas_vg_eo_base_constructor(Eo *eo_obj, Evas_VG_Data *pd)
obj->type = o_type;
/* root node */
pd->root = eo_add(EVAS_VG_ROOT_NODE_CLASS, eo_obj);
pd->root = eo_add(EFL_VG_ROOT_NODE_CLASS, eo_obj);
eo_ref(pd->root);
eo_do(eo_obj, parent = eo_parent_get());
@ -125,14 +125,14 @@ _evas_vg_eo_base_constructor(Eo *eo_obj, Evas_VG_Data *pd)
static void
_evas_vg_render(Evas_Object_Protected_Data *obj,
void *output, void *context, void *surface, Evas_VG_Node *n,
void *output, void *context, void *surface, Efl_VG *n,
Eina_Array *clips, int x, int y, Eina_Bool do_async)
{
Evas_VG_Container_Data *vd = eo_data_scope_get(n, EVAS_VG_CONTAINER_CLASS);
Efl_VG_Container_Data *vd = eo_data_scope_get(n, EFL_VG_CONTAINER_CLASS);
if (eo_isa(n, EVAS_VG_CONTAINER_CLASS))
if (eo_isa(n, EFL_VG_CONTAINER_CLASS))
{
Evas_VG_Node *child;
Efl_VG *child;
Eina_List *l;
EINA_LIST_FOREACH(vd->children, l, child)
@ -142,9 +142,9 @@ _evas_vg_render(Evas_Object_Protected_Data *obj,
}
else
{
Evas_VG_Node_Data *nd;
Efl_VG_Base_Data *nd;
nd = eo_data_scope_get(n, EVAS_VG_NODE_CLASS);
nd = eo_data_scope_get(n, EFL_VG_BASE_CLASS);
obj->layer->evas->engine.func->ector_renderer_draw(output, context, surface, nd->renderer, clips, x, y, do_async);
}

View File

@ -15,7 +15,7 @@ class Evas.VG (Evas.Object, Efl.File, Efl.Gfx.Fill, Efl.Gfx.View)
*/
}
values {
Evas_VG_Node *container; /*@ Root node of the VG canvas */
Efl_VG *container; /*@ Root node of the VG canvas */
}
}
}

View File

@ -3,52 +3,52 @@
#include "evas_vg_private.h"
#define MY_CLASS EVAS_VG_CONTAINER_CLASS
#define MY_CLASS EFL_VG_CONTAINER_CLASS
static void
_evas_vg_container_render_pre(Eo *obj EINA_UNUSED,
Eina_Matrix3 *parent,
Ector_Surface *s,
void *data,
Evas_VG_Node_Data *nd)
_efl_vg_container_render_pre(Eo *obj EINA_UNUSED,
Eina_Matrix3 *parent,
Ector_Surface *s,
void *data,
Efl_VG_Base_Data *nd)
{
Evas_VG_Container_Data *pd = data;
Efl_VG_Container_Data *pd = data;
Eina_List *l;
Eo *child;
if (!nd->changed) return ;
nd->changed = EINA_FALSE;
EVAS_VG_COMPUTE_MATRIX(current, parent, nd);
EFL_VG_COMPUTE_MATRIX(current, parent, nd);
EINA_LIST_FOREACH(pd->children, l, child)
_evas_vg_render_pre(child, s, current);
}
static void
_evas_vg_container_eo_base_constructor(Eo *obj,
Evas_VG_Container_Data *pd)
_efl_vg_container_eo_base_constructor(Eo *obj,
Efl_VG_Container_Data *pd)
{
Evas_VG_Node_Data *nd;
Efl_VG_Base_Data *nd;
eo_do_super(obj, MY_CLASS, eo_constructor());
nd = eo_data_scope_get(obj, EVAS_VG_NODE_CLASS);
nd->render_pre = _evas_vg_container_render_pre;
nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS);
nd->render_pre = _efl_vg_container_render_pre;
nd->data = pd;
}
static void
_evas_vg_container_eo_base_destructor(Eo *obj,
Evas_VG_Container_Data *pd EINA_UNUSED)
_efl_vg_container_eo_base_destructor(Eo *obj,
Efl_VG_Container_Data *pd EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, eo_destructor());
}
static Eina_Bool
_evas_vg_container_evas_vg_node_bound_get(Eo *obj EINA_UNUSED,
Evas_VG_Container_Data *pd,
Eina_Rectangle *r)
_efl_vg_container_efl_vg_base_bound_get(Eo *obj EINA_UNUSED,
Efl_VG_Container_Data *pd,
Eina_Rectangle *r)
{
Eina_Rectangle s;
Eina_Bool first = EINA_TRUE;
@ -63,12 +63,12 @@ _evas_vg_container_evas_vg_node_bound_get(Eo *obj EINA_UNUSED,
{
if (first)
{
eo_do(child, evas_vg_node_bound_get(r));
eo_do(child, efl_vg_bound_get(r));
first = EINA_FALSE;
}
else
{
eo_do(child, evas_vg_node_bound_get(&s));
eo_do(child, efl_vg_bound_get(&s));
eina_rectangle_union(r, &s);
}
}
@ -77,4 +77,4 @@ _evas_vg_container_evas_vg_node_bound_get(Eo *obj EINA_UNUSED,
}
#include "evas_vg_container.eo.c"
#include "efl_vg_container.eo.c"

View File

@ -1,9 +0,0 @@
class Evas.VG_Container (Evas.VG_Node)
{
eo_prefix: evas_vg_container;
implements {
Eo.Base.constructor;
Eo.Base.destructor;
Evas.VG_Node.bound_get;
}
}

View File

@ -6,10 +6,10 @@
#include <strings.h>
static void
_evas_vg_gradient_efl_gfx_gradient_base_stop_set(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Data *pd,
const Efl_Gfx_Gradient_Stop *colors,
unsigned int length)
_efl_vg_gradient_efl_gfx_gradient_base_stop_set(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Data *pd,
const Efl_Gfx_Gradient_Stop *colors,
unsigned int length)
{
pd->colors = realloc(pd->colors, length * sizeof(Efl_Gfx_Gradient_Stop));
if (!pd->colors)
@ -21,34 +21,60 @@ _evas_vg_gradient_efl_gfx_gradient_base_stop_set(Eo *obj EINA_UNUSED,
memcpy(pd->colors, colors, length * sizeof(Efl_Gfx_Gradient_Stop));
pd->colors_count = length;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static void
_evas_vg_gradient_efl_gfx_gradient_base_stop_get(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Data *pd,
const Efl_Gfx_Gradient_Stop **colors,
unsigned int *length)
_efl_vg_gradient_efl_gfx_gradient_base_stop_get(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Data *pd,
const Efl_Gfx_Gradient_Stop **colors,
unsigned int *length)
{
if (colors) *colors = pd->colors;
if (length) *length = pd->colors_count;
}
static void
_evas_vg_gradient_efl_gfx_gradient_base_spread_set(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Data *pd,
Efl_Gfx_Gradient_Spread s)
_efl_vg_gradient_efl_gfx_gradient_base_spread_set(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Data *pd,
Efl_Gfx_Gradient_Spread s)
{
pd->s = s;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static Efl_Gfx_Gradient_Spread
_evas_vg_gradient_efl_gfx_gradient_base_spread_get(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Data *pd)
_efl_vg_gradient_efl_gfx_gradient_base_spread_get(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Data *pd)
{
return pd->s;
}
#include "evas_vg_gradient.eo.c"
EAPI void
evas_vg_gradient_stop_set(Eo *obj, const Efl_Gfx_Gradient_Stop *colors, unsigned int length)
{
eo_do(obj, efl_gfx_gradient_stop_set(colors, length));
}
EAPI void
evas_vg_gradient_stop_get(Eo *obj, const Efl_Gfx_Gradient_Stop **colors, unsigned int *length)
{
eo_do(obj, efl_gfx_gradient_stop_get(colors, length));
}
EAPI void
evas_vg_gradient_spread_set(Eo *obj, Efl_Gfx_Gradient_Spread s)
{
eo_do(obj, efl_gfx_gradient_spread_set(s));
}
EAPI Efl_Gfx_Gradient_Spread
evas_vg_gradient_spread_get(Eo *obj)
{
Efl_Gfx_Gradient_Spread ret;
return eo_do_ret(obj, ret, efl_gfx_gradient_spread_get());
}
#include "efl_vg_gradient.eo.c"

View File

@ -5,10 +5,10 @@
#include <strings.h>
#define MY_CLASS EVAS_VG_GRADIENT_LINEAR_CLASS
#define MY_CLASS EFL_VG_GRADIENT_LINEAR_CLASS
typedef struct _Evas_VG_Gradient_Linear_Data Evas_VG_Gradient_Linear_Data;
struct _Evas_VG_Gradient_Linear_Data
typedef struct _Efl_VG_Gradient_Linear_Data Efl_VG_Gradient_Linear_Data;
struct _Efl_VG_Gradient_Linear_Data
{
struct {
double x, y;
@ -16,60 +16,60 @@ struct _Evas_VG_Gradient_Linear_Data
};
static void
_evas_vg_gradient_linear_efl_gfx_gradient_linear_start_set(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Linear_Data *pd,
double x, double y)
_efl_vg_gradient_linear_efl_gfx_gradient_linear_start_set(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Linear_Data *pd,
double x, double y)
{
pd->start.x = x;
pd->start.y = y;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static void
_evas_vg_gradient_linear_efl_gfx_gradient_linear_start_get(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Linear_Data *pd,
double *x, double *y)
_efl_vg_gradient_linear_efl_gfx_gradient_linear_start_get(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Linear_Data *pd,
double *x, double *y)
{
if (x) *x = pd->start.x;
if (y) *y = pd->start.y;
}
static void
_evas_vg_gradient_linear_efl_gfx_gradient_linear_end_set(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Linear_Data *pd,
double x, double y)
_efl_vg_gradient_linear_efl_gfx_gradient_linear_end_set(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Linear_Data *pd,
double x, double y)
{
pd->end.x = x;
pd->end.y = y;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static void
_evas_vg_gradient_linear_efl_gfx_gradient_linear_end_get(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Linear_Data *pd,
double *x, double *y)
_efl_vg_gradient_linear_efl_gfx_gradient_linear_end_get(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Linear_Data *pd,
double *x, double *y)
{
if (x) *x = pd->end.x;
if (y) *y = pd->end.y;
}
static void
_evas_vg_gradient_linear_render_pre(Eo *obj,
Eina_Matrix3 *parent,
Ector_Surface *s,
void *data,
Evas_VG_Node_Data *nd)
_efl_vg_gradient_linear_render_pre(Eo *obj,
Eina_Matrix3 *parent,
Ector_Surface *s,
void *data,
Efl_VG_Base_Data *nd)
{
Evas_VG_Gradient_Linear_Data *pd = data;
Evas_VG_Gradient_Data *gd;
Efl_VG_Gradient_Linear_Data *pd = data;
Efl_VG_Gradient_Data *gd;
if (!nd->changed) return ;
nd->changed = EINA_FALSE;
gd = eo_data_scope_get(obj, EVAS_VG_GRADIENT_CLASS);
EVAS_VG_COMPUTE_MATRIX(current, parent, nd);
gd = eo_data_scope_get(obj, EFL_VG_GRADIENT_CLASS);
EFL_VG_COMPUTE_MATRIX(current, parent, nd);
if (!nd->renderer)
{
@ -89,22 +89,46 @@ _evas_vg_gradient_linear_render_pre(Eo *obj,
}
static void
_evas_vg_gradient_linear_eo_base_constructor(Eo *obj,
Evas_VG_Gradient_Linear_Data *pd)
_efl_vg_gradient_linear_eo_base_constructor(Eo *obj,
Efl_VG_Gradient_Linear_Data *pd)
{
Evas_VG_Node_Data *nd;
Efl_VG_Base_Data *nd;
eo_do_super(obj, MY_CLASS, eo_constructor());
nd = eo_data_scope_get(obj, EVAS_VG_NODE_CLASS);
nd->render_pre = _evas_vg_gradient_linear_render_pre;
nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS);
nd->render_pre = _efl_vg_gradient_linear_render_pre;
nd->data = pd;
}
void
_evas_vg_gradient_linear_eo_base_destructor(Eo *obj, Evas_VG_Gradient_Linear_Data *pd EINA_UNUSED)
_efl_vg_gradient_linear_eo_base_destructor(Eo *obj, Efl_VG_Gradient_Linear_Data *pd EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, eo_destructor());
}
#include "evas_vg_gradient_linear.eo.c"
EAPI void
evas_vg_gradient_linear_start_set(Eo *obj, double x, double y)
{
eo_do(obj, efl_gfx_gradient_linear_start_set(x, y));
}
EAPI void
evas_vg_gradient_linear_start_get(Eo *obj, double *x, double *y)
{
eo_do(obj, efl_gfx_gradient_linear_start_get(x, y));
}
EAPI void
evas_vg_gradient_linear_end_set(Eo *obj, double x, double y)
{
eo_do(obj, efl_gfx_gradient_linear_end_set(x, y));
}
EAPI void
evas_vg_gradient_linear_end_get(Eo *obj, double *x, double *y)
{
eo_do(obj, efl_gfx_gradient_linear_end_get(x, y));
}
#include "efl_vg_gradient_linear.eo.c"

View File

@ -3,10 +3,10 @@
#include "evas_vg_private.h"
#define MY_CLASS EVAS_VG_GRADIENT_RADIAL_CLASS
#define MY_CLASS EFL_VG_GRADIENT_RADIAL_CLASS
typedef struct _Evas_VG_Gradient_Radial_Data Evas_VG_Gradient_Radial_Data;
struct _Evas_VG_Gradient_Radial_Data
typedef struct _Efl_VG_Gradient_Radial_Data Efl_VG_Gradient_Radial_Data;
struct _Efl_VG_Gradient_Radial_Data
{
struct {
double x, y;
@ -15,77 +15,77 @@ struct _Evas_VG_Gradient_Radial_Data
};
static void
_evas_vg_gradient_radial_efl_gfx_gradient_radial_center_set(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Radial_Data *pd,
double x, double y)
_efl_vg_gradient_radial_efl_gfx_gradient_radial_center_set(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Radial_Data *pd,
double x, double y)
{
pd->center.x = x;
pd->center.y = y;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static void
_evas_vg_gradient_radial_efl_gfx_gradient_radial_center_get(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Radial_Data *pd,
double *x, double *y)
_efl_vg_gradient_radial_efl_gfx_gradient_radial_center_get(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Radial_Data *pd,
double *x, double *y)
{
if (x) *x = pd->center.x;
if (y) *y = pd->center.y;
}
static void
_evas_vg_gradient_radial_efl_gfx_gradient_radial_radius_set(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Radial_Data *pd,
double r)
_efl_vg_gradient_radial_efl_gfx_gradient_radial_radius_set(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Radial_Data *pd,
double r)
{
pd->radius = r;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static double
_evas_vg_gradient_radial_efl_gfx_gradient_radial_radius_get(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Radial_Data *pd)
_efl_vg_gradient_radial_efl_gfx_gradient_radial_radius_get(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Radial_Data *pd)
{
return pd->radius;
}
static void
_evas_vg_gradient_radial_efl_gfx_gradient_radial_focal_set(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Radial_Data *pd,
double x, double y)
_efl_vg_gradient_radial_efl_gfx_gradient_radial_focal_set(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Radial_Data *pd,
double x, double y)
{
pd->focal.x = x;
pd->focal.y = y;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static void
_evas_vg_gradient_radial_efl_gfx_gradient_radial_focal_get(Eo *obj EINA_UNUSED,
Evas_VG_Gradient_Radial_Data *pd,
double *x, double *y)
_efl_vg_gradient_radial_efl_gfx_gradient_radial_focal_get(Eo *obj EINA_UNUSED,
Efl_VG_Gradient_Radial_Data *pd,
double *x, double *y)
{
if (x) *x = pd->focal.x;
if (y) *y = pd->focal.y;
}
static void
_evas_vg_gradient_radial_render_pre(Eo *obj,
_efl_vg_gradient_radial_render_pre(Eo *obj,
Eina_Matrix3 *parent,
Ector_Surface *s,
void *data,
Evas_VG_Node_Data *nd)
Efl_VG_Base_Data *nd)
{
Evas_VG_Gradient_Radial_Data *pd = data;
Evas_VG_Gradient_Data *gd;
Efl_VG_Gradient_Radial_Data *pd = data;
Efl_VG_Gradient_Data *gd;
if (!nd->changed) return ;
nd->changed = EINA_FALSE;
gd = eo_data_scope_get(obj, EVAS_VG_GRADIENT_CLASS);
EVAS_VG_COMPUTE_MATRIX(current, parent, nd);
gd = eo_data_scope_get(obj, EFL_VG_GRADIENT_CLASS);
EFL_VG_COMPUTE_MATRIX(current, parent, nd);
if (!nd->renderer)
{
@ -106,22 +106,60 @@ _evas_vg_gradient_radial_render_pre(Eo *obj,
}
static void
_evas_vg_gradient_radial_eo_base_constructor(Eo *obj, Evas_VG_Gradient_Radial_Data *pd)
_efl_vg_gradient_radial_eo_base_constructor(Eo *obj, Efl_VG_Gradient_Radial_Data *pd)
{
Evas_VG_Node_Data *nd;
Efl_VG_Base_Data *nd;
eo_do_super(obj, MY_CLASS, eo_constructor());
nd = eo_data_scope_get(obj, EVAS_VG_NODE_CLASS);
nd->render_pre = _evas_vg_gradient_radial_render_pre;
nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS);
nd->render_pre = _efl_vg_gradient_radial_render_pre;
nd->data = pd;
}
static void
_evas_vg_gradient_radial_eo_base_destructor(Eo *obj,
Evas_VG_Gradient_Radial_Data *pd EINA_UNUSED)
_efl_vg_gradient_radial_eo_base_destructor(Eo *obj,
Efl_VG_Gradient_Radial_Data *pd EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, eo_destructor());
}
#include "evas_vg_gradient_radial.eo.c"
EAPI void
evas_vg_gradient_radial_center_set(Eo *obj, double x, double y)
{
eo_do(obj, efl_gfx_gradient_radial_center_set(x, y));
}
EAPI void
evas_vg_gradient_radial_center_get(Eo *obj, double *x, double *y)
{
eo_do(obj, efl_gfx_gradient_radial_center_get(x, y));
}
EAPI void
evas_vg_gradient_radial_radius_set(Eo *obj, double r)
{
eo_do(obj, efl_gfx_gradient_radial_radius_set(r));
}
EAPI double
evas_vg_gradient_radial_radius_get(Eo *obj)
{
double ret;
return eo_do_ret(obj, ret, efl_gfx_gradient_radial_radius_get());
}
EAPI void
evas_vg_gradient_radial_focal_set(Eo *obj, double x, double y)
{
eo_do(obj, efl_gfx_gradient_radial_focal_set(x, y));
}
EAPI void
evas_vg_gradient_radial_focal_get(Eo *obj, double *x, double *y)
{
eo_do(obj, efl_gfx_gradient_radial_focal_get(x, y));
}
#include "efl_vg_gradient_radial.eo.c"

View File

@ -5,8 +5,8 @@
#include "evas_vg_private.h"
typedef struct _Evas_VG_Image_Data Evas_VG_Image_Data;
struct _Evas_VG_Image_Data
typedef struct _Efl_VG_Image_Data Efl_VG_Image_Data;
struct _Efl_VG_Image_Data
{
// FIXME: only manipulate Eina_File internally.
Eina_File *f;
@ -17,33 +17,33 @@ struct _Evas_VG_Image_Data
};
static void
_evas_vg_image_position_set(Eo *obj, Evas_VG_Image_Data *pd, int x, int y)
_efl_vg_image_position_set(Eo *obj, Efl_VG_Image_Data *pd, int x, int y)
{
pd->x = x;
pd->y = y;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static void
_evas_vg_image_position_get(Eo *obj, Evas_VG_Image_Data *pd, int *x, int *y)
_efl_vg_image_position_get(Eo *obj, Efl_VG_Image_Data *pd, int *x, int *y)
{
if (x) *x = pd->x;
if (y) *y = pd->y;
}
static void
_evas_vg_image_size_set(Eo *obj, Evas_VG_Image_Data *pd,
_efl_vg_image_size_set(Eo *obj, Efl_VG_Image_Data *pd,
unsigned int w, unsigned int h)
{
pd->w = w;
pd->h = h;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static void
_evas_vg_image_size_get(Eo *obj, Evas_VG_Image_Data *pd,
_efl_vg_image_size_get(Eo *obj, Efl_VG_Image_Data *pd,
unsigned int *w, unsigned int *h)
{
if (w) *w = pd->w;
@ -51,7 +51,7 @@ _evas_vg_image_size_get(Eo *obj, Evas_VG_Image_Data *pd,
}
static Eina_Bool
_evas_vg_image_efl_file_mmap_set(Eo *obj EINA_UNUSED, Evas_VG_Image_Data *pd,
_efl_vg_image_efl_file_mmap_set(Eo *obj EINA_UNUSED, Efl_VG_Image_Data *pd,
const Eina_File *f, const char *key)
{
Eina_File *tmp = pd->f;
@ -60,13 +60,13 @@ _evas_vg_image_efl_file_mmap_set(Eo *obj EINA_UNUSED, Evas_VG_Image_Data *pd,
eina_file_close(tmp);
eina_stringshare_replace(&pd->key, key);
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
return EINA_TRUE;
}
static void
_evas_vg_image_efl_file_mmap_get(Eo *obj EINA_UNUSED, Evas_VG_Image_Data *pd,
_efl_vg_image_efl_file_mmap_get(Eo *obj EINA_UNUSED, Efl_VG_Image_Data *pd,
const Eina_File **f, const char **key)
{
if (f) *f = pd->f;
@ -74,21 +74,21 @@ _evas_vg_image_efl_file_mmap_get(Eo *obj EINA_UNUSED, Evas_VG_Image_Data *pd,
}
static Eina_Bool
_evas_vg_image_efl_file_file_set(Eo *obj, Evas_VG_Image_Data *pd,
_efl_vg_image_efl_file_file_set(Eo *obj, Efl_VG_Image_Data *pd,
const char *file, const char *key)
{
Eina_File *tmp;
Eina_Bool r;
tmp = eina_file_open(file, EINA_FALSE);
r = _evas_vg_image_efl_file_mmap_set(obj, pd, tmp, key);
r = _efl_vg_image_efl_file_mmap_set(obj, pd, tmp, key);
eina_file_close(tmp);
return r;
}
static void
_evas_vg_image_efl_file_file_get(Eo *obj EINA_UNUSED, Evas_VG_Image_Data *pd,
_efl_vg_image_efl_file_file_get(Eo *obj EINA_UNUSED, Efl_VG_Image_Data *pd,
const char **file, const char **key)
{
if (file) *file = eina_file_filename_get(pd->f);
@ -96,15 +96,15 @@ _evas_vg_image_efl_file_file_get(Eo *obj EINA_UNUSED, Evas_VG_Image_Data *pd,
}
static void
_evas_vg_image_eo_base_constructor(Eo *obj, Evas_VG_Image_Data *pd)
_efl_vg_image_eo_base_constructor(Eo *obj, Efl_VG_Image_Data *pd)
{
eo_error_set(obj);
}
static void
_evas_vg_image_eo_base_destructor(Eo *obj, Evas_VG_Image_Data *pd)
_efl_vg_image_eo_base_destructor(Eo *obj, Efl_VG_Image_Data *pd)
{
eo_error_set(obj);
}
#include "evas_vg_image.eo.c"
#include "efl_vg_image.eo.c"

View File

@ -116,7 +116,7 @@ _tag_linearGradient_handler(Evas_SVG_Loader *loader,
_attrs_id_parser, &id);
if (!id) return EINA_FALSE;
node = eo_add(EVAS_VG_GRADIENT_LINEAR_CLASS, NULL);
node = eo_add(EFL_VG_GRADIENT_LINEAR_CLASS, NULL);
if (!node) return EINA_FALSE;
eina_hash_direct_add(loader->definition, id, node);
@ -481,7 +481,7 @@ _tag_g_handler(Evas_SVG_Loader *loader,
parent = eina_array_data_get(loader->stack, eina_array_count(loader->stack) - 1);
node = eo_add(EVAS_VG_CONTAINER_CLASS, parent);
node = eo_add(EFL_VG_CONTAINER_CLASS, parent);
eina_array_push(loader->stack, node);
return EINA_TRUE;

View File

@ -6,12 +6,12 @@
#include <string.h>
#include <math.h>
#define MY_CLASS EVAS_VG_NODE_CLASS
#define MY_CLASS EFL_VG_BASE_CLASS
static Eina_Bool
_evas_vg_node_property_changed(void *data, Eo *obj, const Eo_Event_Description *desc, void *event_info)
_efl_vg_base_property_changed(void *data, Eo *obj, const Eo_Event_Description *desc, void *event_info)
{
Evas_VG_Node_Data *pd = data;
Efl_VG_Base_Data *pd = data;
Eo *parent;
if (pd->changed) return EINA_TRUE;
@ -23,9 +23,9 @@ _evas_vg_node_property_changed(void *data, Eo *obj, const Eo_Event_Description *
}
void
_evas_vg_node_transformation_set(Eo *obj,
Evas_VG_Node_Data *pd,
const Eina_Matrix3 *m)
_efl_vg_base_transformation_set(Eo *obj,
Efl_VG_Base_Data *pd,
const Eina_Matrix3 *m)
{
if (!pd->m)
{
@ -34,100 +34,100 @@ _evas_vg_node_transformation_set(Eo *obj,
}
memcpy(pd->m, m, sizeof (Eina_Matrix3));
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
const Eina_Matrix3 *
_evas_vg_node_transformation_get(Eo *obj EINA_UNUSED, Evas_VG_Node_Data *pd)
_efl_vg_base_transformation_get(Eo *obj EINA_UNUSED, Efl_VG_Base_Data *pd)
{
return pd->m;
}
void
_evas_vg_node_origin_set(Eo *obj,
Evas_VG_Node_Data *pd,
double x, double y)
_efl_vg_base_origin_set(Eo *obj,
Efl_VG_Base_Data *pd,
double x, double y)
{
pd->x = x;
pd->y = y;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
void
_evas_vg_node_origin_get(Eo *obj EINA_UNUSED,
Evas_VG_Node_Data *pd,
double *x, double *y)
_efl_vg_base_origin_get(Eo *obj EINA_UNUSED,
Efl_VG_Base_Data *pd,
double *x, double *y)
{
if (x) *x = pd->x;
if (y) *y = pd->y;
}
void
_evas_vg_node_efl_gfx_base_position_set(Eo *obj EINA_UNUSED,
Evas_VG_Node_Data *pd,
int x, int y)
_efl_vg_base_efl_gfx_base_position_set(Eo *obj EINA_UNUSED,
Efl_VG_Base_Data *pd,
int x, int y)
{
pd->x = lrint(x);
pd->y = lrint(y);
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
void
_evas_vg_node_efl_gfx_base_position_get(Eo *obj EINA_UNUSED,
Evas_VG_Node_Data *pd,
int *x, int *y)
_efl_vg_base_efl_gfx_base_position_get(Eo *obj EINA_UNUSED,
Efl_VG_Base_Data *pd,
int *x, int *y)
{
if (x) *x = pd->x;
if (y) *y = pd->y;
}
void
_evas_vg_node_efl_gfx_base_visible_set(Eo *obj EINA_UNUSED,
Evas_VG_Node_Data *pd, Eina_Bool v)
_efl_vg_base_efl_gfx_base_visible_set(Eo *obj EINA_UNUSED,
Efl_VG_Base_Data *pd, Eina_Bool v)
{
pd->visibility = v;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
Eina_Bool
_evas_vg_node_efl_gfx_base_visible_get(Eo *obj EINA_UNUSED,
Evas_VG_Node_Data *pd)
_efl_vg_base_efl_gfx_base_visible_get(Eo *obj EINA_UNUSED,
Efl_VG_Base_Data *pd)
{
return pd->visibility;
}
void
_evas_vg_node_efl_gfx_base_color_set(Eo *obj EINA_UNUSED,
Evas_VG_Node_Data *pd,
int r, int g, int b, int a)
_efl_vg_base_efl_gfx_base_color_set(Eo *obj EINA_UNUSED,
Efl_VG_Base_Data *pd,
int r, int g, int b, int a)
{
pd->r = r;
pd->g = g;
pd->b = b;
pd->a = a;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
Eina_Bool
_evas_vg_node_efl_gfx_base_color_part_set(Eo *obj, Evas_VG_Node_Data *pd,
const char *part,
int r, int g, int b, int a)
_efl_vg_base_efl_gfx_base_color_part_set(Eo *obj, Efl_VG_Base_Data *pd,
const char *part,
int r, int g, int b, int a)
{
if (part) return EINA_FALSE;
_evas_vg_node_efl_gfx_base_color_set(obj, pd, r, g, b, a);
_efl_vg_base_efl_gfx_base_color_set(obj, pd, r, g, b, a);
return EINA_TRUE;
}
void
_evas_vg_node_efl_gfx_base_color_get(Eo *obj EINA_UNUSED,
Evas_VG_Node_Data *pd,
int *r, int *g, int *b, int *a)
_efl_vg_base_efl_gfx_base_color_get(Eo *obj EINA_UNUSED,
Efl_VG_Base_Data *pd,
int *r, int *g, int *b, int *a)
{
if (r) *r = pd->r;
if (g) *g = pd->g;
@ -136,62 +136,62 @@ _evas_vg_node_efl_gfx_base_color_get(Eo *obj EINA_UNUSED,
}
Eina_Bool
_evas_vg_node_efl_gfx_base_color_part_get(Eo *obj, Evas_VG_Node_Data *pd,
const char *part,
int *r, int *g, int *b, int *a)
_efl_vg_base_efl_gfx_base_color_part_get(Eo *obj, Efl_VG_Base_Data *pd,
const char *part,
int *r, int *g, int *b, int *a)
{
if (part) return EINA_FALSE;
_evas_vg_node_efl_gfx_base_color_get(obj, pd, r, g, b, a);
_efl_vg_base_efl_gfx_base_color_get(obj, pd, r, g, b, a);
return EINA_TRUE;
}
void
_evas_vg_node_mask_set(Eo *obj EINA_UNUSED,
Evas_VG_Node_Data *pd,
Evas_VG_Node *r)
_efl_vg_base_mask_set(Eo *obj EINA_UNUSED,
Efl_VG_Base_Data *pd,
Efl_VG_Base *r)
{
Evas_VG_Node *tmp = pd->mask;
Efl_VG_Base *tmp = pd->mask;
pd->mask = eo_ref(r);
eo_unref(tmp);
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
Evas_VG_Node*
_evas_vg_node_mask_get(Eo *obj EINA_UNUSED, Evas_VG_Node_Data *pd)
Efl_VG_Base*
_efl_vg_base_mask_get(Eo *obj EINA_UNUSED, Efl_VG_Base_Data *pd)
{
return pd->mask;
}
void
_evas_vg_node_efl_gfx_base_size_get(Eo *obj,
Evas_VG_Node_Data *pd EINA_UNUSED,
int *w, int *h)
_efl_vg_base_efl_gfx_base_size_get(Eo *obj,
Efl_VG_Base_Data *pd EINA_UNUSED,
int *w, int *h)
{
Eina_Rectangle bound = { 0, 0, 0, 0 };
eo_do(obj, evas_vg_node_bound_get(&bound));
eo_do(obj, efl_vg_bound_get(&bound));
if (w) *w = bound.w;
if (h) *h = bound.h;
}
// Parent should be a container otherwise dismissing the stacking operation
static Eina_Bool
_evas_vg_node_parent_checked_get(Eo *obj,
Eo **parent,
Evas_VG_Container_Data **cd)
_efl_vg_base_parent_checked_get(Eo *obj,
Eo **parent,
Efl_VG_Container_Data **cd)
{
*cd = NULL;
eo_do(obj, *parent = eo_parent_get());
if (eo_isa(*parent, EVAS_VG_CONTAINER_CLASS))
if (eo_isa(*parent, EFL_VG_CONTAINER_CLASS))
{
*cd = eo_data_scope_get(*parent, EVAS_VG_CONTAINER_CLASS);
*cd = eo_data_scope_get(*parent, EFL_VG_CONTAINER_CLASS);
if (!*cd)
{
ERR("Can't get EVAS_VG_CONTAINER_CLASS data.");
ERR("Can't get EFL_VG_CONTAINER_CLASS data.");
goto on_error;
}
}
@ -210,36 +210,36 @@ _evas_vg_node_parent_checked_get(Eo *obj,
}
void
_evas_vg_node_eo_base_constructor(Eo *obj,
Evas_VG_Node_Data *pd)
_efl_vg_base_eo_base_constructor(Eo *obj,
Efl_VG_Base_Data *pd)
{
Evas_VG_Container_Data *cd = NULL;
Efl_VG_Container_Data *cd = NULL;
Eo *parent;
eo_do_super(obj, MY_CLASS, eo_constructor());
if (!_evas_vg_node_parent_checked_get(obj, &parent, &cd))
if (!_efl_vg_base_parent_checked_get(obj, &parent, &cd))
eo_error_set(obj);
eo_do(obj, eo_event_callback_add(EFL_GFX_CHANGED, _evas_vg_node_property_changed, pd));
eo_do(obj, eo_event_callback_add(EFL_GFX_CHANGED, _efl_vg_base_property_changed, pd));
pd->changed = EINA_TRUE;
}
void
_evas_vg_node_eo_base_parent_set(Eo *obj,
Evas_VG_Node_Data *pd EINA_UNUSED,
Eo *parent)
_efl_vg_base_eo_base_parent_set(Eo *obj,
Efl_VG_Base_Data *pd EINA_UNUSED,
Eo *parent)
{
Evas_VG_Container_Data *cd = NULL;
Evas_VG_Container_Data *old_cd = NULL;
Efl_VG_Container_Data *cd = NULL;
Efl_VG_Container_Data *old_cd = NULL;
Eo *old_parent;
if (eo_isa(parent, EVAS_VG_CONTAINER_CLASS))
if (eo_isa(parent, EFL_VG_CONTAINER_CLASS))
{
cd = eo_data_scope_get(parent, EVAS_VG_CONTAINER_CLASS);
cd = eo_data_scope_get(parent, EFL_VG_CONTAINER_CLASS);
if (!cd)
{
ERR("Can't get EVAS_VG_CONTAINER_CLASS data from %p.", parent);
ERR("Can't get EFL_VG_CONTAINER_CLASS data from %p.", parent);
goto on_error;
}
}
@ -249,7 +249,7 @@ _evas_vg_node_eo_base_parent_set(Eo *obj,
goto on_error;
}
if (!_evas_vg_node_parent_checked_get(obj, &old_parent, &old_cd))
if (!_efl_vg_base_parent_checked_get(obj, &old_parent, &old_cd))
goto on_error;
// FIXME: this may become slow with to much object
@ -260,9 +260,9 @@ _evas_vg_node_eo_base_parent_set(Eo *obj,
if (cd)
cd->children = eina_list_append(cd->children, obj);
_evas_vg_node_changed(old_parent);
_evas_vg_node_changed(obj);
_evas_vg_node_changed(parent);
_efl_vg_base_changed(old_parent);
_efl_vg_base_changed(obj);
_efl_vg_base_changed(parent);
return ;
@ -272,15 +272,15 @@ _evas_vg_node_eo_base_parent_set(Eo *obj,
}
void
_evas_vg_node_efl_gfx_stack_raise(Eo *obj, Evas_VG_Node_Data *pd EINA_UNUSED)
_efl_vg_base_efl_gfx_stack_raise(Eo *obj, Efl_VG_Base_Data *pd EINA_UNUSED)
{
Evas_VG_Container_Data *cd;
Efl_VG_Container_Data *cd;
Eina_List *lookup, *next;
Eo *parent;
eo_do(obj, parent = eo_parent_get());
if (!eo_isa(parent, EVAS_VG_CONTAINER_CLASS)) goto on_error;
cd = eo_data_scope_get(parent, EVAS_VG_CONTAINER_CLASS);
if (!eo_isa(parent, EFL_VG_CONTAINER_CLASS)) goto on_error;
cd = eo_data_scope_get(parent, EFL_VG_CONTAINER_CLASS);
// FIXME: this could become slow with to much object
lookup = eina_list_data_find_list(cd->children, obj);
@ -292,7 +292,7 @@ _evas_vg_node_efl_gfx_stack_raise(Eo *obj, Evas_VG_Node_Data *pd EINA_UNUSED)
cd->children = eina_list_remove_list(cd->children, lookup);
cd->children = eina_list_append_relative_list(cd->children, obj, next);
_evas_vg_node_changed(parent);
_efl_vg_base_changed(parent);
return ;
on_error:
@ -300,17 +300,17 @@ _evas_vg_node_efl_gfx_stack_raise(Eo *obj, Evas_VG_Node_Data *pd EINA_UNUSED)
}
void
_evas_vg_node_efl_gfx_stack_stack_above(Eo *obj,
Evas_VG_Node_Data *pd EINA_UNUSED,
Efl_Gfx_Stack *above)
_efl_vg_base_efl_gfx_stack_stack_above(Eo *obj,
Efl_VG_Base_Data *pd EINA_UNUSED,
Efl_Gfx_Stack *above)
{
Evas_VG_Container_Data *cd;
Efl_VG_Container_Data *cd;
Eina_List *lookup, *ref;
Eo *parent;
eo_do(obj, parent = eo_parent_get());
if (!eo_isa(parent, EVAS_VG_CONTAINER_CLASS)) goto on_error;
cd = eo_data_scope_get(parent, EVAS_VG_CONTAINER_CLASS);
if (!eo_isa(parent, EFL_VG_CONTAINER_CLASS)) goto on_error;
cd = eo_data_scope_get(parent, EFL_VG_CONTAINER_CLASS);
// FIXME: this could become slow with to much object
lookup = eina_list_data_find_list(cd->children, obj);
@ -322,7 +322,7 @@ _evas_vg_node_efl_gfx_stack_stack_above(Eo *obj,
cd->children = eina_list_remove_list(cd->children, lookup);
cd->children = eina_list_append_relative_list(cd->children, obj, ref);
_evas_vg_node_changed(parent);
_efl_vg_base_changed(parent);
return ;
on_error:
@ -330,17 +330,17 @@ _evas_vg_node_efl_gfx_stack_stack_above(Eo *obj,
}
void
_evas_vg_node_efl_gfx_stack_stack_below(Eo *obj,
Evas_VG_Node_Data *pd EINA_UNUSED,
Efl_Gfx_Stack *below)
_efl_vg_base_efl_gfx_stack_stack_below(Eo *obj,
Efl_VG_Base_Data *pd EINA_UNUSED,
Efl_Gfx_Stack *below)
{
Evas_VG_Container_Data *cd;
Efl_VG_Container_Data *cd;
Eina_List *lookup, *ref;
Eo *parent;
eo_do(obj, parent = eo_parent_get());
if (!eo_isa(parent, EVAS_VG_CONTAINER_CLASS)) goto on_error;
cd = eo_data_scope_get(parent, EVAS_VG_CONTAINER_CLASS);
if (!eo_isa(parent, EFL_VG_CONTAINER_CLASS)) goto on_error;
cd = eo_data_scope_get(parent, EFL_VG_CONTAINER_CLASS);
// FIXME: this could become slow with to much object
lookup = eina_list_data_find_list(cd->children, obj);
@ -352,7 +352,7 @@ _evas_vg_node_efl_gfx_stack_stack_below(Eo *obj,
cd->children = eina_list_remove_list(cd->children, lookup);
cd->children = eina_list_prepend_relative_list(cd->children, obj, ref);
_evas_vg_node_changed(parent);
_efl_vg_base_changed(parent);
return ;
on_error:
@ -360,15 +360,15 @@ _evas_vg_node_efl_gfx_stack_stack_below(Eo *obj,
}
void
_evas_vg_node_efl_gfx_stack_lower(Eo *obj, Evas_VG_Node_Data *pd EINA_UNUSED)
_efl_vg_base_efl_gfx_stack_lower(Eo *obj, Efl_VG_Base_Data *pd EINA_UNUSED)
{
Evas_VG_Container_Data *cd;
Efl_VG_Container_Data *cd;
Eina_List *lookup, *prev;
Eo *parent;
eo_do(obj, parent = eo_parent_get());
if (!eo_isa(parent, EVAS_VG_CONTAINER_CLASS)) goto on_error;
cd = eo_data_scope_get(parent, EVAS_VG_CONTAINER_CLASS);
if (!eo_isa(parent, EFL_VG_CONTAINER_CLASS)) goto on_error;
cd = eo_data_scope_get(parent, EFL_VG_CONTAINER_CLASS);
// FIXME: this could become slow with to much object
lookup = eina_list_data_find_list(cd->children, obj);
@ -380,7 +380,7 @@ _evas_vg_node_efl_gfx_stack_lower(Eo *obj, Evas_VG_Node_Data *pd EINA_UNUSED)
cd->children = eina_list_remove_list(cd->children, lookup);
cd->children = eina_list_prepend_relative_list(cd->children, obj, prev);
_evas_vg_node_changed(parent);
_efl_vg_base_changed(parent);
return ;
on_error:
@ -388,25 +388,91 @@ _evas_vg_node_efl_gfx_stack_lower(Eo *obj, Evas_VG_Node_Data *pd EINA_UNUSED)
}
Efl_Gfx_Stack *
_evas_vg_node_efl_gfx_stack_below_get(Eo *obj, Evas_VG_Node_Data *pd)
_efl_vg_base_efl_gfx_stack_below_get(Eo *obj, Efl_VG_Base_Data *pd)
{
// FIXME: need to implement bound_get
return NULL;
}
Efl_Gfx_Stack *
_evas_vg_node_efl_gfx_stack_above_get(Eo *obj, Evas_VG_Node_Data *pd)
_efl_vg_base_efl_gfx_stack_above_get(Eo *obj, Efl_VG_Base_Data *pd)
{
// FIXME: need to implement bound_get
return NULL;
}
Eina_Bool
_evas_vg_node_original_bound_get(Eo *obj,
Evas_VG_Node_Data *pd,
Eina_Rectangle *r)
_efl_vg_base_original_bound_get(Eo *obj,
Efl_VG_Base_Data *pd,
Eina_Rectangle *r)
{
return EINA_FALSE;
}
#include "evas_vg_node.eo.c"
EAPI Eina_Bool
evas_vg_node_visible_get(Eo *obj)
{
Eina_Bool ret;
return eo_do_ret(obj, ret, efl_gfx_visible_get());
}
EAPI void
evas_vg_node_visible_set(Eo *obj, Eina_Bool v)
{
eo_do(obj, efl_gfx_visible_set(v));
}
EAPI void
evas_vg_node_color_get(Eo *obj, int *r, int *g, int *b, int *a)
{
eo_do(obj, efl_gfx_color_get(r, g, b, a));
}
EAPI void
evas_vg_node_color_set(Eo *obj, int r, int g, int b, int a)
{
eo_do(obj, efl_gfx_color_set(r, g, b, a));
}
EAPI void
evas_vg_node_geometry_get(Eo *obj, int *x, int *y, int *w, int *h)
{
eo_do(obj,
efl_gfx_position_get(x, y),
efl_gfx_size_get(w, h));
}
EAPI void
evas_vg_node_geometry_set(Eo *obj, int x, int y, int w, int h)
{
eo_do(obj,
efl_gfx_position_set(x, y),
efl_gfx_size_set(w, h));
}
EAPI void
evas_vg_node_stack_below(Eo *obj, Eo *below)
{
eo_do(obj, efl_gfx_stack_below(below));
}
EAPI void
evas_vg_node_stack_above(Eo *obj, Eo *above)
{
eo_do(obj, efl_gfx_stack_above(above));
}
EAPI void
evas_vg_node_raise(Eo *obj)
{
eo_do(obj, efl_gfx_stack_raise());
}
EAPI void
evas_vg_node_lower(Eo *obj)
{
eo_do(obj, efl_gfx_stack_lower());
}
#include "efl_vg_base.eo.c"

View File

@ -3,17 +3,17 @@
#include <Ector.h>
typedef struct _Evas_VG_Node_Data Evas_VG_Node_Data;
typedef struct _Evas_VG_Container_Data Evas_VG_Container_Data;
typedef struct _Evas_VG_Gradient_Data Evas_VG_Gradient_Data;
typedef struct _Efl_VG_Base_Data Efl_VG_Base_Data;
typedef struct _Efl_VG_Container_Data Efl_VG_Container_Data;
typedef struct _Efl_VG_Gradient_Data Efl_VG_Gradient_Data;
struct _Evas_VG_Node_Data
struct _Efl_VG_Base_Data
{
Eina_Matrix3 *m;
Evas_VG_Node *mask;
Efl_VG *mask;
Ector_Renderer *renderer;
void (*render_pre)(Eo *obj, Eina_Matrix3 *parent, Ector_Surface *s, void *data, Evas_VG_Node_Data *nd);
void (*render_pre)(Eo *obj, Eina_Matrix3 *parent, Ector_Surface *s, void *data, Efl_VG_Base_Data *nd);
void *data;
double x, y;
@ -23,12 +23,12 @@ struct _Evas_VG_Node_Data
Eina_Bool changed : 1;
};
struct _Evas_VG_Container_Data
struct _Efl_VG_Container_Data
{
Eina_List *children;
};
struct _Evas_VG_Gradient_Data
struct _Efl_VG_Gradient_Data
{
// FIXME: Later on we should deduplicate it somehow (Using Ector ?).
Efl_Gfx_Gradient_Stop *colors;
@ -37,14 +37,14 @@ struct _Evas_VG_Gradient_Data
Efl_Gfx_Gradient_Spread s;
};
static inline Evas_VG_Node_Data *
_evas_vg_render_pre(Evas_VG_Node *child, Ector_Surface *s, Eina_Matrix3 *m)
static inline Efl_VG_Base_Data *
_evas_vg_render_pre(Efl_VG *child, Ector_Surface *s, Eina_Matrix3 *m)
{
Evas_VG_Node_Data *child_nd = NULL;
Efl_VG_Base_Data *child_nd = NULL;
// FIXME: Prevent infinite loop
if (child)
child_nd = eo_data_scope_get(child, EVAS_VG_NODE_CLASS);
child_nd = eo_data_scope_get(child, EFL_VG_BASE_CLASS);
if (child_nd)
child_nd->render_pre(child, m, s, child_nd->data, child_nd);
@ -52,12 +52,12 @@ _evas_vg_render_pre(Evas_VG_Node *child, Ector_Surface *s, Eina_Matrix3 *m)
}
static inline void
_evas_vg_node_changed(Eo *obj)
_efl_vg_base_changed(Eo *obj)
{
eo_do(obj, eo_event_callback_call(EFL_GFX_CHANGED, NULL));
}
#define EVAS_VG_COMPUTE_MATRIX(Current, Parent, Nd) \
#define EFL_VG_COMPUTE_MATRIX(Current, Parent, Nd) \
Eina_Matrix3 *Current = Nd->m; \
Eina_Matrix3 _matrix_tmp; \
\

View File

@ -2,14 +2,14 @@
#include "evas_private.h"
#include "evas_vg_private.h"
#include "evas_vg_root_node.eo.h"
#include "efl_vg_root_node.eo.h"
#include <string.h>
#define MY_CLASS EVAS_VG_ROOT_NODE_CLASS
#define MY_CLASS EFL_VG_ROOT_NODE_CLASS
typedef struct _Evas_VG_Root_Node_Data Evas_VG_Root_Node_Data;
struct _Evas_VG_Root_Node_Data
typedef struct _Efl_VG_Root_Node_Data Efl_VG_Root_Node_Data;
struct _Efl_VG_Root_Node_Data
{
Evas_Object *parent;
Evas_Object_Protected_Data *data;
@ -20,16 +20,16 @@ _evas_vg_root_node_render_pre(Eo *obj EINA_UNUSED,
Eina_Matrix3 *parent,
Ector_Surface *s,
void *data,
Evas_VG_Node_Data *nd)
Efl_VG_Base_Data *nd)
{
Evas_VG_Container_Data *pd = data;
Efl_VG_Container_Data *pd = data;
Eina_List *l;
Eo *child;
if (!nd->changed) return ;
nd->changed = EINA_FALSE;
EVAS_VG_COMPUTE_MATRIX(current, parent, nd);
EFL_VG_COMPUTE_MATRIX(current, parent, nd);
EINA_LIST_FOREACH(pd->children, l, child)
_evas_vg_render_pre(child, s, current);
@ -40,19 +40,19 @@ _evas_vg_root_node_changed(void *data, Eo *obj EINA_UNUSED,
const Eo_Event_Description *desc EINA_UNUSED,
void *event_info EINA_UNUSED)
{
Evas_VG_Root_Node_Data *pd = data;
Efl_VG_Root_Node_Data *pd = data;
if (pd->parent) evas_object_change(pd->parent, pd->data);
return EINA_TRUE;
}
void
_evas_vg_root_node_eo_base_parent_set(Eo *obj,
Evas_VG_Root_Node_Data *pd,
Eo *parent)
_efl_vg_root_node_eo_base_parent_set(Eo *obj,
Efl_VG_Root_Node_Data *pd,
Eo *parent)
{
// Nice little hack, jump over parent parent_set in Evas_VG_Root
eo_do_super(obj, EVAS_VG_NODE_CLASS, eo_parent_set(parent));
// Nice little hack, jump over parent parent_set in Efl_VG_Root
eo_do_super(obj, EFL_VG_BASE_CLASS, eo_parent_set(parent));
if (parent && !eo_isa(parent, EVAS_VG_CLASS))
{
eo_error_set(obj);
@ -65,11 +65,11 @@ _evas_vg_root_node_eo_base_parent_set(Eo *obj,
}
void
_evas_vg_root_node_eo_base_constructor(Eo *obj,
Evas_VG_Root_Node_Data *pd)
_efl_vg_root_node_eo_base_constructor(Eo *obj,
Efl_VG_Root_Node_Data *pd)
{
Evas_VG_Container_Data *cd;
Evas_VG_Node_Data *nd;
Efl_VG_Container_Data *cd;
Efl_VG_Base_Data *nd;
Eo *parent;
// Nice little hack, jump over parent constructor in Efl_VG_Root
@ -78,14 +78,14 @@ _evas_vg_root_node_eo_base_constructor(Eo *obj,
if (!eo_isa(parent, EVAS_VG_CLASS))
eo_error_set(obj);
cd = eo_data_scope_get(obj, EVAS_VG_CONTAINER_CLASS);
cd = eo_data_scope_get(obj, EFL_VG_CONTAINER_CLASS);
cd->children = NULL;
nd = eo_data_scope_get(obj, EVAS_VG_NODE_CLASS);
nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS);
nd->render_pre = _evas_vg_root_node_render_pre;
nd->data = cd;
eo_do(obj, eo_event_callback_add(EFL_GFX_CHANGED, _evas_vg_root_node_changed, pd));
}
#include "evas_vg_root_node.eo.c"
#include "efl_vg_root_node.eo.c"

View File

@ -1,8 +0,0 @@
class Evas.VG_Root_Node (Evas.VG_Container)
{
eo_prefix: evas_vg_root_node;
implements {
Eo.Base.parent.set;
Eo.Base.constructor;
}
}

View File

@ -3,17 +3,17 @@
#include "evas_vg_private.h"
#define MY_CLASS EVAS_VG_SHAPE_CLASS
#define MY_CLASS EFL_VG_SHAPE_CLASS
typedef struct _Evas_VG_Shape_Data Evas_VG_Shape_Data;
struct _Evas_VG_Shape_Data
typedef struct _Efl_VG_Shape_Data Efl_VG_Shape_Data;
struct _Efl_VG_Shape_Data
{
Evas_VG_Node *fill;
Efl_VG *fill;
struct {
Efl_Gfx_Dash *dash;
Evas_VG_Node *fill;
Evas_VG_Node *marker;
Efl_VG *fill;
Efl_VG *marker;
double scale;
double width;
@ -29,72 +29,72 @@ struct _Evas_VG_Shape_Data
};
static Eina_Bool
_evas_vg_shape_evas_vg_node_bound_get(Eo *obj,
Evas_VG_Shape_Data *pd,
Eina_Rectangle *r)
_efl_vg_shape_efl_vg_base_bound_get(Eo *obj,
Efl_VG_Shape_Data *pd,
Eina_Rectangle *r)
{
return EINA_FALSE;
}
static void
_evas_vg_shape_fill_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
Evas_VG_Node *f)
_efl_vg_shape_fill_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
Efl_VG *f)
{
Evas_VG_Node *tmp = pd->fill;
Efl_VG *tmp = pd->fill;
pd->fill = eo_ref(f);
eo_unref(tmp);
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static Evas_VG_Node *
_evas_vg_shape_fill_get(Eo *obj EINA_UNUSED, Evas_VG_Shape_Data *pd)
static Efl_VG *
_efl_vg_shape_fill_get(Eo *obj EINA_UNUSED, Efl_VG_Shape_Data *pd)
{
return pd->fill;
}
static void
_evas_vg_shape_efl_gfx_shape_stroke_scale_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
double s)
_efl_vg_shape_efl_gfx_shape_stroke_scale_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
double s)
{
pd->stroke.scale = s;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static double
_evas_vg_shape_efl_gfx_shape_stroke_scale_get(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd)
_efl_vg_shape_efl_gfx_shape_stroke_scale_get(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd)
{
return pd->stroke.scale;
}
static void
_evas_vg_shape_efl_gfx_shape_stroke_color_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
int r, int g, int b, int a)
_efl_vg_shape_efl_gfx_shape_stroke_color_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
int r, int g, int b, int a)
{
pd->stroke.r = r;
pd->stroke.g = g;
pd->stroke.b = b;
pd->stroke.a = a;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static Eina_Bool
_evas_vg_shape_efl_gfx_base_color_part_set(Eo *obj, Evas_VG_Shape_Data *pd,
const char * part,
int r, int g, int b, int a)
_efl_vg_shape_efl_gfx_base_color_part_set(Eo *obj, Efl_VG_Shape_Data *pd,
const char * part,
int r, int g, int b, int a)
{
Eina_Bool ret;
if (part && !strcmp(part, "stroke"))
{
_evas_vg_shape_efl_gfx_shape_stroke_color_set(obj, pd, r, g, b, a);
_efl_vg_shape_efl_gfx_shape_stroke_color_set(obj, pd, r, g, b, a);
return EINA_TRUE;
}
@ -105,9 +105,9 @@ _evas_vg_shape_efl_gfx_base_color_part_set(Eo *obj, Evas_VG_Shape_Data *pd,
}
static void
_evas_vg_shape_efl_gfx_shape_stroke_color_get(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
int *r, int *g, int *b, int *a)
_efl_vg_shape_efl_gfx_shape_stroke_color_get(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
int *r, int *g, int *b, int *a)
{
if (r) *r = pd->stroke.r;
if (g) *g = pd->stroke.g;
@ -116,15 +116,15 @@ _evas_vg_shape_efl_gfx_shape_stroke_color_get(Eo *obj EINA_UNUSED,
}
static Eina_Bool
_evas_vg_shape_efl_gfx_base_color_part_get(Eo *obj, Evas_VG_Shape_Data *pd,
const char * part,
int *r, int *g, int *b, int *a)
_efl_vg_shape_efl_gfx_base_color_part_get(Eo *obj, Efl_VG_Shape_Data *pd,
const char * part,
int *r, int *g, int *b, int *a)
{
Eina_Bool ret;
if (part && !strcmp(part, "stroke"))
{
_evas_vg_shape_efl_gfx_shape_stroke_color_get(obj, pd, r, g, b, a);
_efl_vg_shape_efl_gfx_shape_stroke_color_get(obj, pd, r, g, b, a);
return EINA_TRUE;
}
@ -135,64 +135,64 @@ _evas_vg_shape_efl_gfx_base_color_part_get(Eo *obj, Evas_VG_Shape_Data *pd,
}
static void
_evas_vg_shape_stroke_fill_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
Evas_VG_Node *f)
_efl_vg_shape_stroke_fill_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
Efl_VG *f)
{
Evas_VG_Node *tmp = pd->fill;
Efl_VG *tmp = pd->fill;
pd->stroke.fill = eo_ref(f);
eo_unref(tmp);
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static Evas_VG_Node *
_evas_vg_shape_stroke_fill_get(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd)
static Efl_VG *
_efl_vg_shape_stroke_fill_get(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd)
{
return pd->stroke.fill;
}
static void
_evas_vg_shape_efl_gfx_shape_stroke_width_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
double w)
_efl_vg_shape_efl_gfx_shape_stroke_width_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
double w)
{
pd->stroke.width = w;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static double
_evas_vg_shape_efl_gfx_shape_stroke_width_get(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd)
_efl_vg_shape_efl_gfx_shape_stroke_width_get(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd)
{
return pd->stroke.width;
}
static void
_evas_vg_shape_efl_gfx_shape_stroke_location_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
double centered)
_efl_vg_shape_efl_gfx_shape_stroke_location_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
double centered)
{
pd->stroke.centered = centered;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static double
_evas_vg_shape_efl_gfx_shape_stroke_location_get(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd)
_efl_vg_shape_efl_gfx_shape_stroke_location_get(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd)
{
return pd->stroke.centered;
}
static void
_evas_vg_shape_efl_gfx_shape_stroke_dash_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
const Efl_Gfx_Dash *dash,
unsigned int length)
_efl_vg_shape_efl_gfx_shape_stroke_dash_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
const Efl_Gfx_Dash *dash,
unsigned int length)
{
free(pd->stroke.dash);
pd->stroke.dash = NULL;
@ -204,87 +204,87 @@ _evas_vg_shape_efl_gfx_shape_stroke_dash_set(Eo *obj EINA_UNUSED,
memcpy(pd->stroke.dash, dash, sizeof (Efl_Gfx_Dash) * length);
pd->stroke.dash_count = length;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static void
_evas_vg_shape_efl_gfx_shape_stroke_dash_get(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
const Efl_Gfx_Dash **dash,
unsigned int *length)
_efl_vg_shape_efl_gfx_shape_stroke_dash_get(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
const Efl_Gfx_Dash **dash,
unsigned int *length)
{
if (dash) *dash = pd->stroke.dash;
if (length) *length = pd->stroke.dash_count;
}
static void
_evas_vg_shape_stroke_marker_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
Evas_VG_Shape *m)
_efl_vg_shape_stroke_marker_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
Efl_VG_Shape *m)
{
Evas_VG_Node *tmp = pd->stroke.marker;
Efl_VG *tmp = pd->stroke.marker;
pd->stroke.marker = eo_ref(m);
eo_unref(tmp);
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static Evas_VG_Shape *
_evas_vg_shape_stroke_marker_get(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd)
static Efl_VG_Shape *
_efl_vg_shape_stroke_marker_get(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd)
{
return pd->stroke.marker;
}
static void
_evas_vg_shape_efl_gfx_shape_stroke_cap_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
Efl_Gfx_Cap c)
_efl_vg_shape_efl_gfx_shape_stroke_cap_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
Efl_Gfx_Cap c)
{
pd->stroke.cap = c;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static Efl_Gfx_Cap
_evas_vg_shape_efl_gfx_shape_stroke_cap_get(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd)
_efl_vg_shape_efl_gfx_shape_stroke_cap_get(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd)
{
return pd->stroke.cap;
}
static void
_evas_vg_shape_efl_gfx_shape_stroke_join_set(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd,
Efl_Gfx_Join j)
_efl_vg_shape_efl_gfx_shape_stroke_join_set(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd,
Efl_Gfx_Join j)
{
pd->stroke.join = j;
_evas_vg_node_changed(obj);
_efl_vg_base_changed(obj);
}
static Efl_Gfx_Join
_evas_vg_shape_efl_gfx_shape_stroke_join_get(Eo *obj EINA_UNUSED,
Evas_VG_Shape_Data *pd)
_efl_vg_shape_efl_gfx_shape_stroke_join_get(Eo *obj EINA_UNUSED,
Efl_VG_Shape_Data *pd)
{
return pd->stroke.join;
}
static void
_evas_vg_shape_render_pre(Eo *obj EINA_UNUSED,
Eina_Matrix3 *parent,
Ector_Surface *s,
void *data,
Evas_VG_Node_Data *nd)
_efl_vg_shape_render_pre(Eo *obj EINA_UNUSED,
Eina_Matrix3 *parent,
Ector_Surface *s,
void *data,
Efl_VG_Base_Data *nd)
{
Evas_VG_Shape_Data *pd = data;
Evas_VG_Node_Data *fill, *stroke_fill, *stroke_marker, *mask;
Efl_VG_Shape_Data *pd = data;
Efl_VG_Base_Data *fill, *stroke_fill, *stroke_marker, *mask;
if (!nd->changed) return ;
nd->changed = EINA_FALSE;
EVAS_VG_COMPUTE_MATRIX(current, parent, nd);
EFL_VG_COMPUTE_MATRIX(current, parent, nd);
fill = _evas_vg_render_pre(pd->fill, s, current);
stroke_fill = _evas_vg_render_pre(pd->stroke.fill, s, current);
@ -310,9 +310,9 @@ _evas_vg_shape_render_pre(Eo *obj EINA_UNUSED,
}
static void
_evas_vg_shape_eo_base_constructor(Eo *obj, Evas_VG_Shape_Data *pd)
_efl_vg_shape_eo_base_constructor(Eo *obj, Efl_VG_Shape_Data *pd)
{
Evas_VG_Node_Data *nd;
Efl_VG_Base_Data *nd;
eo_do_super(obj, MY_CLASS, eo_constructor());
@ -322,15 +322,227 @@ _evas_vg_shape_eo_base_constructor(Eo *obj, Evas_VG_Shape_Data *pd)
pd->stroke.a = 1;
pd->stroke.centered = 0.5;
nd = eo_data_scope_get(obj, EVAS_VG_NODE_CLASS);
nd->render_pre = _evas_vg_shape_render_pre;
nd = eo_data_scope_get(obj, EFL_VG_BASE_CLASS);
nd->render_pre = _efl_vg_shape_render_pre;
nd->data = pd;
}
static void
_evas_vg_shape_eo_base_destructor(Eo *obj, Evas_VG_Shape_Data *pd EINA_UNUSED)
_efl_vg_shape_eo_base_destructor(Eo *obj, Efl_VG_Shape_Data *pd EINA_UNUSED)
{
eo_do_super(obj, MY_CLASS, eo_destructor());
}
#include "evas_vg_shape.eo.c"
EAPI double
evas_vg_shape_stroke_scale_get(Eo *obj)
{
double ret;
return eo_do_ret(obj, ret, efl_gfx_shape_stroke_scale_get());
}
EAPI void
evas_vg_shape_stroke_scale_set(Eo *obj, double s)
{
eo_do(obj, efl_gfx_shape_stroke_scale_set(s));
}
EAPI void
evas_vg_shape_stroke_color_get(Eo *obj, int *r, int *g, int *b, int *a)
{
eo_do(obj, efl_gfx_shape_stroke_color_get(r, g, b, a));
}
EAPI void
evas_vg_shape_stroke_color_set(Eo *obj, int r, int g, int b, int a)
{
eo_do(obj, efl_gfx_shape_stroke_color_set(r, g, b, a));
}
EAPI double
evas_vg_shape_stroke_width_get(Eo *obj)
{
double ret;
return eo_do_ret(obj, ret, efl_gfx_shape_stroke_width_get());
}
EAPI void
evas_vg_shape_stroke_width_set(Eo *obj, double w)
{
eo_do(obj, efl_gfx_shape_stroke_width_set(w));
}
EAPI double
evas_vg_shape_stroke_location_get(Eo *obj)
{
double ret;
return eo_do_ret(obj, ret, efl_gfx_shape_stroke_location_get());
}
EAPI void
evas_vg_shape_stroke_location_set(Eo *obj, double centered)
{
eo_do(obj, efl_gfx_shape_stroke_location_set(centered));
}
EAPI void
evas_vg_shape_stroke_dash_get(Eo *obj, const Efl_Gfx_Dash **dash, unsigned int *length)
{
eo_do(obj, efl_gfx_shape_stroke_dash_get(dash, length));
}
EAPI void
evas_vg_shape_stroke_dash_set(Eo *obj, const Efl_Gfx_Dash *dash, unsigned int length)
{
eo_do(obj, efl_gfx_shape_stroke_dash_set(dash, length));
}
EAPI Efl_Gfx_Cap
evas_vg_shape_stroke_cap_get(Eo *obj)
{
Efl_Gfx_Cap ret;
return eo_do_ret(obj, ret, efl_gfx_shape_stroke_cap_get());
}
EAPI void
evas_vg_shape_stroke_cap_set(Eo *obj, Efl_Gfx_Cap c)
{
eo_do(obj, efl_gfx_shape_stroke_cap_set(c));
}
EAPI Efl_Gfx_Join
evas_vg_shape_stroke_join_get(Eo *obj)
{
Efl_Gfx_Join ret;
return eo_do_ret(obj, ret, efl_gfx_shape_stroke_join_get());
}
EAPI void
evas_vg_shape_stroke_join_set(Eo *obj, Efl_Gfx_Join j)
{
eo_do(obj, efl_gfx_shape_stroke_join_set(j));
}
EAPI void
evas_vg_shape_shape_path_set(Eo *obj, const Efl_Gfx_Path_Command *op, const double *points)
{
eo_do(obj, efl_gfx_shape_path_set(op, points));
}
EAPI void
evas_vg_shape_shape_path_get(Eo *obj, const Efl_Gfx_Path_Command **op, const double **points)
{
eo_do(obj, efl_gfx_shape_path_get(op, points));
}
EAPI void
evas_vg_shape_shape_path_length_get(Eo *obj, unsigned int *commands, unsigned int *points)
{
eo_do(obj, efl_gfx_shape_path_length_get(commands, points));
}
EAPI void
evas_vg_shape_shape_current_get(Eo *obj, double *x, double *y)
{
eo_do(obj, efl_gfx_shape_current_get(x, y));
}
EAPI void
evas_vg_shape_shape_current_ctrl_get(Eo *obj, double *x, double *y)
{
eo_do(obj, efl_gfx_shape_current_ctrl_get(x, y));
}
EAPI void
evas_vg_shape_shape_dup(Eo *obj, Eo *dup_from)
{
eo_do(obj, efl_gfx_shape_dup(dup_from));
}
EAPI void
evas_vg_shape_shape_reset(Eo *obj)
{
eo_do(obj, efl_gfx_shape_reset());
}
EAPI void
evas_vg_shape_shape_append_move_to(Eo *obj, double x, double y)
{
eo_do(obj, efl_gfx_shape_append_move_to(x, y));
}
EAPI void
evas_vg_shape_shape_append_line_to(Eo *obj, double x, double y)
{
eo_do(obj, efl_gfx_shape_append_line_to(x, y));
}
EAPI void
evas_vg_shape_shape_append_quadratic_to(Eo *obj, double x, double y, double ctrl_x, double ctrl_y)
{
eo_do(obj, efl_gfx_shape_append_quadratic_to(x, y, ctrl_x, ctrl_y));
}
EAPI void
evas_vg_shape_shape_append_squadratic_to(Eo *obj, double x, double y)
{
eo_do(obj, efl_gfx_shape_append_squadratic_to(x, y));
}
EAPI void
evas_vg_shape_shape_append_cubic_to(Eo *obj, double x, double y, double ctrl_x0, double ctrl_y0, double ctrl_x1, double ctrl_y1)
{
eo_do(obj, efl_gfx_shape_append_cubic_to(x, y, ctrl_x0, ctrl_y0, ctrl_x1, ctrl_y1));
}
EAPI void
evas_vg_shape_shape_append_scubic_to(Eo *obj, double x, double y, double ctrl_x, double ctrl_y)
{
eo_do(obj, efl_gfx_shape_append_scubic_to(x, y, ctrl_x, ctrl_y));
}
EAPI void
evas_vg_shape_shape_append_arc_to(Eo *obj, double x, double y, double rx, double ry, double angle, Eina_Bool large_arc, Eina_Bool sweep)
{
eo_do(obj, efl_gfx_shape_append_arc_to(x, y, rx, ry, angle, large_arc, sweep));
}
EAPI void
evas_vg_shape_shape_append_close(Eo *obj)
{
eo_do(obj, efl_gfx_shape_append_close());
}
EAPI void
evas_vg_shape_shape_append_circle(Eo *obj, double x, double y, double radius)
{
eo_do(obj, efl_gfx_shape_append_circle(x, y, radius));
}
EAPI void
evas_vg_shape_shape_append_svg_path(Eo *obj, const char *svg_path_data)
{
eo_do(obj, efl_gfx_shape_append_svg_path(svg_path_data));
}
EAPI Eina_Bool
evas_vg_shape_shape_interpolate(Eo *obj, const Eo *from, const Eo *to, double pos_map)
{
Eina_Bool ret;
return eo_do_ret(obj, ret, efl_gfx_shape_interpolate(from, to, pos_map));
}
EAPI Eina_Bool
evas_vg_shape_shape_equal_commands(Eo *obj, const Eo *with)
{
Eina_Bool ret;
return eo_do_ret(obj, ret, efl_gfx_shape_equal_commands(with));
}
#include "efl_vg_shape.eo.c"