forked from enlightenment/efl
evas: move Evas.VG_* to Efl.VG.*
This also introduce legacy API for all of them.
This commit is contained in:
parent
dd1cae7329
commit
eb2bd9a8d8
|
@ -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) \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
||||
/**
|
||||
* @}
|
||||
|
|
|
@ -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 {
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -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;
|
|
@ -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;
|
|
@ -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 {
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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 */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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; \
|
||||
\
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue