Tizen Native API  9.0
Vector Graphics Object

Vector Graphics Object is the scene graph for managing vector graphics objects. User can create shape objects as well as fill objects and give them to the Evas_Object_Vg for drawing on the screen as well as managing the lifecycle of the objects, enabling reuse of shape objects.

Since Evas_Object_Vg is an Evas_Object all operations applicable to an Evas_Object can be performed on it (clipping, mapping, etc).

To create complex vector graphics you can create a hierarchy of shape and fill objects and give the hierarchy to Evas_Object which will be responsible for drawing and showing on the screen.

As the shape object and fill object (linear and radial gradients) have retain mode API, you only have to create it once and set the properties and give it to Evas_Object_Vg.

Any change in the properties of a shape or fill object are automatically notified to Evas_Object_Vg triggering a redraw to reflect the changes.

To create a vector path, you can give a list of path commands to the shape object using efl_gfx_shape_path_set() API.

Below are the list of features currently supported by Vector object.

  • Drawing SVG Path. You can construct a path by using api in efl_gfx_utils.h
  • Gradient filling and stroking. You can fill or stroke the path using linear or radial gradient.
    See also:
    Evas_Vg_Gradient_Linear and Evas_Vg_Gradient_Radial
  • Transformation support for path and gradient fill. You can apply affine transforms to path objects.
    See also:
    Eina_Matrix.
    Note:
    Below are the list of interfaces and classes that can be used to draw vector graphics using vector objects.
  • Efl.Gfx.Shape
  • Evas.VG_Shape
  • Evas.VG_Node
  • Efl.Gfx.Gradient
  • Efl.Gfx.Gradient_Radial
  • Efl.Gfx.Gradient_Linear

Example:

 vector = evas_object_vg_add(canvas);
 root = evas_obj_vg_root_node_get(vector);
 shape = efl_add(EVAS_VG_SHAPE_CLASS, root);
 Efl_Gfx_Path_Command *path_cmd = NULL;
 double *points = NULL;
 efl_gfx_path_append_circle(&path_cmd, &points);
 *       evas_vg_node_origin_set(shape, 10, 10);
 *       efl_gfx_shape_stroke_width_set(shape, 1.0);
 *       evas_vg_node_color_set(shape, 128, 128, 128, 80);
 *       efl_gfx_shape_path_set(shape, path_cmd, points);
Since (EFL) :
1.14

Functions

void evas_object_vg_fill_mode_set (Evas_Object *obj, Evas_Object_Vg_Fill_Mode fill_mode)
 Control how the viewbox is mapped to the vg canvas's viewport.
Evas_Object_Vg_Fill_Mode evas_object_vg_fill_mode_get (const Evas_Object *obj)
 Control how the viewbox is mapped to the vg canvas's viewport.
void evas_object_vg_viewbox_set (Evas_Object *obj, Eina_Rect viewbox)
 Sets the viewbox for the evas vg canvas. viewbox if set should be mapped to the canvas geometry when rendering the vg tree.
Eina_Rect evas_object_vg_viewbox_get (const Evas_Object *obj)
 Get the current viewbox from the evas_object_vg.
void evas_object_vg_viewbox_align_set (Evas_Object *obj, double align_x, double align_y)
 Control how the viewbox is positioned inside the viewport.
void evas_object_vg_viewbox_align_get (const Evas_Object *obj, double *align_x, double *align_y)
 Control how the viewbox is positioned inside the viewport.
void evas_object_vg_root_node_set (Evas_Object *obj, Evas_Vg_Node *root)
 Set the root node of the evas_object_vg.
Evas_Vg_Node * evas_object_vg_root_node_get (const Evas_Object *obj)
 Get the root node of the evas_object_vg.
Evas_Objectevas_object_vg_add (Evas *e)
 Creates a new vector object on the given Evas e canvas.
int evas_object_vg_animated_frame_count_get (const Evas_Object *obj)
double evas_object_vg_animated_frame_duration_get (const Evas_Object *obj, int start_frame, int frame_num)
Eina_Bool evas_object_vg_file_set (Evas_Object *obj, const char *file, const char *key)
Eina_Bool evas_object_vg_animated_frame_set (Evas_Object *obj, int frame_index)
int evas_object_vg_animated_frame_get (const Evas_Object *obj)
Evas_Vg_Shape * evas_vg_shape_add (Evas_Vg_Container *parent)
 Creates a new vector shape object.
Evas_Vg_Container * evas_vg_container_add (Evas_Object *parent)
 Creates a new vector container object.
Eina_Bool evas_vg_node_visible_get (Evas_Vg_Node *obj)
 Retrieves whether or not the given Evas_Vg_Node object is visible.
void evas_vg_node_visible_set (Evas_Vg_Node *obj, Eina_Bool v)
 Makes the given Evas_Vg_Node object visible or invisible.
void evas_vg_node_color_get (Evas_Vg_Node *obj, int *r, int *g, int *b, int *a)
 Retrieves the general/main color of the given Evas_Vg_Node object.
void evas_vg_node_color_set (Evas_Vg_Node *obj, int r, int g, int b, int a)
 Sets the general/main color of the given Evas_Vg_Node object to the given one.
void evas_vg_node_geometry_get (Evas_Vg_Node *obj, int *x, int *y, int *w, int *h)
 Retrieves the geometry of the given Evas_Vg_Node object.
void evas_vg_node_geometry_set (Evas_Vg_Node *obj, int x, int y, int w, int h) EINA_DEPRECATED
 Changes the geometry of the given Evas_Vg_Node object.
void evas_vg_node_stack_below (Evas_Vg_Node *obj, Evas_Vg_Node *below)
 Stack obj immediately below below.
void evas_vg_node_stack_above (Evas_Vg_Node *obj, Evas_Vg_Node *above)
 Stack obj immediately above above.
void evas_vg_node_raise (Evas_Vg_Node *obj)
 Raise obj to the top of its layer.
void evas_vg_node_lower (Evas_Vg_Node *obj)
 Lower obj to the bottom of its layer.
double evas_vg_shape_stroke_scale_get (Evas_Vg_Shape *obj)
 Get the stroke scaling factor used for stroking this path.
void evas_vg_shape_stroke_scale_set (Evas_Vg_Shape *obj, double s)
 Sets the stroke scale to be used for stroking the path. the scale property will be used along with stroke width property.
void evas_vg_shape_stroke_color_get (Evas_Vg_Shape *obj, int *r, int *g, int *b, int *a)
 Gets the color used for stroking the path.
void evas_vg_shape_stroke_color_set (Evas_Vg_Shape *obj, int r, int g, int b, int a)
 Sets the color to be used for stroking the path.
double evas_vg_shape_stroke_width_get (Evas_Vg_Shape *obj)
 Gets the stroke width to be used for stroking the path.
void evas_vg_shape_stroke_width_set (Evas_Vg_Shape *obj, double w)
 Sets the stroke width to be used for stroking the path.
double evas_vg_shape_stroke_location_get (Evas_Vg_Shape *obj)
 Gets the stroke location to be used for stroking the path.
void evas_vg_shape_stroke_location_set (Evas_Vg_Shape *obj, double centered)
 Sets the stroke location to be used for stroking the path.
void evas_vg_shape_stroke_dash_get (Evas_Vg_Shape *obj, const Evas_Vg_Dash **dash, unsigned int *length)
 Gets the stroke dash type used for stroking path.
void evas_vg_shape_stroke_dash_set (Evas_Vg_Shape *obj, const Evas_Vg_Dash *dash, unsigned int length)
 Sets the stroke dash type to be used for stroking the path.
Evas_Vg_Cap evas_vg_shape_stroke_cap_get (Evas_Vg_Shape *obj)
 Gets the cap style used for stroking path.
void evas_vg_shape_stroke_cap_set (Evas_Vg_Shape *obj, Evas_Vg_Cap c)
 Sets the cap style to be used for stroking the path.
Evas_Vg_Join evas_vg_shape_stroke_join_get (Evas_Vg_Shape *obj)
 Gets the join style used for stroking path.
void evas_vg_shape_stroke_join_set (Evas_Vg_Shape *obj, Evas_Vg_Join j)
 Sets the join style to be used for stroking the path.
void evas_vg_shape_fill_rule_set (Evas_Vg_Shape *obj, Evas_Vg_Fill_Rule r)
 Sets the fill rule to be used.
void evas_vg_shape_fill_rule_get (Evas_Vg_Shape *obj, Evas_Vg_Fill_Rule *r)
 Gets the fill rule.
void evas_vg_shape_path_set (Evas_Vg_Shape *obj, const Evas_Vg_Path_Command *op, const double *points)
 Set the list of commands and points to be used to create the content of shape.
void evas_vg_shape_path_get (Evas_Vg_Shape *obj, const Evas_Vg_Path_Command **op, const double **points)
 Gets the command and points list.
void evas_vg_shape_path_length_get (Evas_Vg_Shape *obj, unsigned int *commands, unsigned int *points)
 Gets the command and points length.
void evas_vg_shape_current_get (Evas_Vg_Shape *obj, double *x, double *y)
 Gets the current points.
void evas_vg_shape_current_ctrl_get (Evas_Vg_Shape *obj, double *x, double *y)
 Gets the current control points.
void evas_vg_shape_dup (Evas_Vg_Shape *obj, Evas_Vg_Shape *dup_from)
 Copy the shape data from the object specified.
void evas_vg_shape_reset (Evas_Vg_Shape *obj)
 Reset the shape data of the shape object.
void evas_vg_shape_append_move_to (Evas_Vg_Shape *obj, double x, double y)
 Moves the current point to the given point, implicitly starting a new subpath and closing the previous one.
void evas_vg_shape_append_line_to (Evas_Vg_Shape *obj, double x, double y)
 Adds a straight line from the current position to the given endPoint. After the line is drawn, the current position is updated to be at the end point of the line.
void evas_vg_shape_append_quadratic_to (Evas_Vg_Shape *obj, double x, double y, double ctrl_x, double ctrl_y)
 Adds a quadratic Bezier curve between the current position and the given end point (x,y) using the control points specified by (ctrl_x, ctrl_y). After the path is drawn, the current position is updated to be at the end point of the path.
void evas_vg_shape_append_squadratic_to (Evas_Vg_Shape *obj, double x, double y)
 Same as evas_vg_shape_append_quadratic_to() api only difference is that it uses the current control point to draw the bezier.
void evas_vg_shape_append_cubic_to (Evas_Vg_Shape *obj, double x, double y, double ctrl_x0, double ctrl_y0, double ctrl_x1, double ctrl_y1)
 Adds a cubic Bezier curve between the current position and the given end point (x,y) using the control points specified by (ctrl_x0, ctrl_y0), and (ctrl_x1, ctrl_y1). After the path is drawn, the current position is updated to be at the end point of the path.
void evas_vg_shape_append_scubic_to (Evas_Vg_Shape *obj, double x, double y, double ctrl_x, double ctrl_y)
 Same as evas_vg_shape_append_cubic_to() api only difference is that it uses the current control point to draw the bezier.
void evas_vg_shape_append_arc_to (Evas_Vg_Shape *obj, double x, double y, double rx, double ry, double angle, Eina_Bool large_arc, Eina_Bool sweep)
 Append an arc that connects from the current point int the point list to the given point (x,y). The arc is defined by the given radius in x-direction (rx) and radius in y direction (ry).
void evas_vg_shape_append_arc (Evas_Vg_Shape *obj, double x, double y, double w, double h, double start_angle, double sweep_length)
 Append an arc that enclosed in the given rectangle (x, y, w, h). The angle is defined in counter clock wise , use -ve angle for clockwise arc.
void evas_vg_shape_append_close (Evas_Vg_Shape *obj)
 Closes the current subpath by drawing a line to the beginning of the subpath, automatically starting a new path. The current point of the new path is (0, 0).
void evas_vg_shape_append_circle (Evas_Vg_Shape *obj, double x, double y, double radius)
 Append a circle with given center and radius.
void evas_vg_shape_append_ellipse (Evas_Vg_Shape *obj, double cx, double cy, double rx, double ry)
 Append a ellipse with given center and x-radius, y-radius.
void evas_vg_shape_append_rect (Evas_Vg_Shape *obj, double x, double y, double w, double h, double rx, double ry)
 Append the given rectangle with rounded corner to the path.
void evas_vg_shape_append_svg_path (Evas_Vg_Shape *obj, const char *svg_path_data)
 Append the SVG path data.
Eina_Bool evas_vg_shape_interpolate (Evas_Vg_Shape *obj, const Eo *from, const Eo *to, double pos_map)
 Creates intermediary path part-way between two paths.
Eina_Bool evas_vg_shape_equal_commands (Evas_Vg_Shape *obj, const Eo *with)
 Check if the given objects have equal commands.
void evas_vg_shape_fill_set (Evas_Vg_Shape *obj, Evas_Vg_Node *f)
 Set a vg object as the fill property.
Evas_Vg_Node * evas_vg_shape_fill_get (const Evas_Vg_Shape *obj)
 Returns the object that is set for the fill property.
void evas_vg_shape_stroke_fill_set (Evas_Vg_Shape *obj, Evas_Vg_Node *f)
 Set a vg object as the stroke fill property.
Evas_Vg_Node * evas_vg_shape_stroke_fill_get (const Evas_Vg_Shape *obj)
 Returns the object that is set for the stroke fill property.
void evas_vg_gradient_stop_set (Evas_Vg_Gradient *obj, const Evas_Vg_Gradient_Stop *colors, unsigned int length)
 Set the list of color stops for the gradient.
void evas_vg_gradient_stop_get (Evas_Vg_Gradient *obj, const Evas_Vg_Gradient_Stop **colors, unsigned int *length)
 Get the list of color stops.
void evas_vg_gradient_spread_set (Evas_Vg_Gradient *obj, Evas_Vg_Gradient_Spread s)
 Specifies the spread method that should be used for this gradient.
Evas_Vg_Gradient_Spread evas_vg_gradient_spread_get (Evas_Vg_Gradient *obj)
 Returns the spread method use by this gradient. The default is EVAS_VG_GRADIENT_SPREAD_PAD.
Evas_Vg_Gradient_Linear * evas_vg_gradient_linear_add (Evas_Vg_Container *parent)
 Creates a new linear gradient object.
void evas_vg_gradient_linear_start_set (Evas_Vg_Gradient_Linear *obj, double x, double y)
 Sets the start point of this linear gradient.
void evas_vg_gradient_linear_start_get (Evas_Vg_Gradient_Linear *obj, double *x, double *y)
 Gets the start point of this linear gradient.
void evas_vg_gradient_linear_end_set (Evas_Vg_Gradient_Linear *obj, double x, double y)
 Sets the end point of this linear gradient.
void evas_vg_gradient_linear_end_get (Evas_Vg_Gradient_Linear *obj, double *x, double *y)
 Gets the end point of this linear gradient.
Evas_Vg_Gradient_Radial * evas_vg_gradient_radial_add (Evas_Vg_Container *parent)
 Creates a new radial gradient object.
void evas_vg_gradient_radial_center_set (Evas_Vg_Gradient_Radial *obj, double x, double y)
 Sets the center of this radial gradient.
void evas_vg_gradient_radial_center_get (Evas_Vg_Gradient_Radial *obj, double *x, double *y)
 Gets the center of this radial gradient.
void evas_vg_gradient_radial_radius_set (Evas_Vg_Gradient_Radial *obj, double r)
 Sets the center radius of this radial gradient.
double evas_vg_gradient_radial_radius_get (Evas_Vg_Gradient_Radial *obj)
 Gets the center radius of this radial gradient.
void evas_vg_gradient_radial_focal_set (Evas_Vg_Gradient_Radial *obj, double x, double y)
 Sets the focal point of this radial gradient.
void evas_vg_gradient_radial_focal_get (Evas_Vg_Gradient_Radial *obj, double *x, double *y)
 Gets the focal point of this radial gradient.

Typedefs

typedef enum Evas_Vg_Cap_Type Evas_Vg_Cap
 These values determine how the end of opened sub-paths are rendered in a stroke. evas_vg_shape_stroke_cap_set.
typedef enum Evas_Vg_Join_Type Evas_Vg_Join
 These values determine how two joining lines are rendered in a stroker. evas_vg_shape_stroke_join_set.
typedef enum
Evas_Vg_Path_Command_Type 
Evas_Vg_Path_Command
 These values determine how the points are interpreted in a stream of points.
typedef struct
_Evas_Vg_Gradient_Stop 
Evas_Vg_Gradient_Stop
 Type defining gradient stops. Describes the location and color of a transition point in a gradient.
typedef enum
Evas_Vg_Gradient_Spread_Type 
Evas_Vg_Gradient_Spread
 Specifies how the area outside the gradient area should be filled. evas_vg_gradient_spread_set.
typedef enum Evas_Vg_Fill_Rule_Type Evas_Vg_Fill_Rule
 Specifies how an image content get filled. evas_vg_shape_fill_rule_set.
typedef struct _Evas_Vg_Dash Evas_Vg_Dash
 Type describing dash. evas_vg_shape_stroke_dash_set.

Typedef Documentation

These values determine how the end of opened sub-paths are rendered in a stroke. evas_vg_shape_stroke_cap_set.

Since (EFL) :
1.24
typedef struct _Evas_Vg_Dash Evas_Vg_Dash

Type describing dash. evas_vg_shape_stroke_dash_set.

Since (EFL) :
1.24

Specifies how an image content get filled. evas_vg_shape_fill_rule_set.

Since (EFL) :
1.25.1

Specifies how the area outside the gradient area should be filled. evas_vg_gradient_spread_set.

Since (EFL) :
1.24

Type defining gradient stops. Describes the location and color of a transition point in a gradient.

Since (EFL) :
1.24

These values determine how two joining lines are rendered in a stroker. evas_vg_shape_stroke_join_set.

Since (EFL) :
1.24

These values determine how the points are interpreted in a stream of points.

Since (EFL) :
1.24

Enumeration Type Documentation

Enumeration that defines how viewbox will be filled int the vg canvs's viewport. default Fill_Mode is none.

Since (EFL) :
1.24
Enumerator:
EVAS_OBJECT_VG_FILL_MODE_NONE 

Don't scale the viewbox. Placed it inside viewport taking align property into account

EVAS_OBJECT_VG_FILL_MODE_STRETCH 

Scale the viewbox so that it matches the canvas viewport. Aaspect ratio might be changed.

EVAS_OBJECT_VG_FILL_MODE_MEET 

Scale the viewbox so that it fits inside canvas viewport while maintaining the aspect ratio. At least one of the dimensions of the viewbox should be equal to the corresponding dimension of the viewport.

EVAS_OBJECT_VG_FILL_MODE_SLICE 

Scale the viewbox so that it covers the entire canvas viewport while maintaining the aspect ratio. At least one of the dimensions of the viewbox should be equal to the corresponding dimension of the viewport.

These values determine how the end of opened sub-paths are rendered in a stroke. evas_vg_shape_stroke_cap_set.

Since (EFL) :
1.24
Enumerator:
EVAS_VG_CAP_BUTT 

The end of lines is rendered as a full stop on the last point itself

EVAS_VG_CAP_ROUND 

The end of lines is rendered as a half-circle around

EVAS_VG_CAP_SQUARE 

The end of lines is rendered as a square around the last point

EVAS_VG_CAP_LAST 

Sentinel value to indicate last enum field during iteration

Specifies how an image content get filled. evas_vg_shape_fill_rule_set.

Since (EFL) :
1.25.1
Enumerator:
EVAS_VG_FILL_RULE_WINDING 

Draw a horizontal line from the point to a location outside the shape. Determine whether the direction of the line at each intersection point is up or down. The winding number is determined by summing the direction of each intersection. If the number is non zero, the point is inside the shape. This mode is the default

EVAS_VG_FILL_RULE_ODD_EVEN 

Draw a horizontal line from the point to a location outside the shape, and count the number of intersections. If the number of intersections is an odd number, the point is inside the shape.

Specifies how the area outside the gradient area should be filled. evas_vg_gradient_spread_set.

Since (EFL) :
1.24
Enumerator:
EVAS_VG_GRADIENT_SPREAD_PAD 

The area is filled with the closest stop color. This is the default

EVAS_VG_GRADIENT_SPREAD_REFLECT 

The gradient is reflected outside the gradient area

EVAS_VG_GRADIENT_SPREAD_REPEAT 

The gradient is repeated outside the gradient area

EVAS_VG_GRADIENT_SPREAD_LAST 

Sentinel value to indicate last enum field during iteration

These values determine how two joining lines are rendered in a stroker. evas_vg_shape_stroke_join_set.

Since (EFL) :
1.24
Enumerator:
EVAS_VG_JOIN_MITER 

Used to render mitered line joins. The intersection of the strokes is clipped at a line perpendicular to the bisector of the angle between the strokes, at the distance from the intersection of the segments equal to the product of the miter limit value and the border radius. This prevents long spikes being created

EVAS_VG_JOIN_ROUND 

Used to render rounded line joins. Circular arcs are used to join two lines smoothly

EVAS_VG_JOIN_BEVEL 

Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke

EVAS_VG_JOIN_LAST 

Sentinel value to indicate last enum field during iteration

These values determine how the points are interpreted in a stream of points.

Since (EFL) :
1.24
Enumerator:
EVAS_VG_PATH_COMMAND_END 

The end of stream , no more points to process

EVAS_VG_PATH_COMMAND_MOVE_TO 

The next point is the start point of a sub path

EVAS_VG_PATH_COMMAND_LINE_TO 

The next point is used to draw a line from current point

EVAS_VG_PATH_COMMAND_CUBIC_TO 

The next three point is used to draw a cubic bezier curve from current point

EVAS_VG_PATH_COMMAND_CLOSE 

Close the current subpath by drawing a line between current point and the first point of current subpath

EVAS_VG_PATH_COMMAND_LAST 

Sentinel value to indicate last enum field during iteration


Function Documentation

Creates a new vector object on the given Evas e canvas.

The shape object hierarchy can be added to the evas_object_vg by accessing the root node of the vg canvas and adding the hierarchy as child to the root node.

Parameters:
[in]eThe given canvas.
Returns:
The created vector object handle.
See also:
evas_obj_vg_root_node_get()
Since (EFL) :
1.14
Since :
3.0

Get the total number of frames of the vector, if it's animated.

Returns:
The number of frames. 0, if it's not animated.
Since (EFL) :
1.23
double evas_object_vg_animated_frame_duration_get ( const Evas_Object obj,
int  start_frame,
int  frame_num 
)

Get the duration of a sequence of frames.

This returns total duration in seconds that the specified sequence of frames should take.

If start_frame is 1 and frame_num is 0, this returns the duration of frame 1. If start_frame is 1 and frame_num is 1, this returns the total duration of frame 1 + frame 2.

Parameters:
[in]start_frameThe first frame, ranges from 1 to maximum frame count.
[in]frame_numNumber of frames in the sequence, starts from 0.
Returns:
Duration in seconds.
See also:
evas_object_vg_animated_frame_count_get()
Since (EFL) :
1.23

Get the current frame number of animated vector object.

Returns:
The frame index.
See also:
evas_object_vg_animated_frame_set()
evas_object_vg_animated_frame_count_get()
Since (EFL) :
1.23
Eina_Bool evas_object_vg_animated_frame_set ( Evas_Object obj,
int  frame_index 
)

Set current frame of animated vector object.

Parameters:
[in]frame_indexThe index of current frame.
Note:
the frame_index must be in range of animation frames. (0 ~ max frame count)
Returns:
EINA_TRUE, if the frame index is valid. EINA_FALSE, otherwise.
See also:
evas_object_vg_animated_frame_count_get()
Since (EFL) :
1.23
Eina_Bool evas_object_vg_file_set ( Evas_Object obj,
const char *  file,
const char *  key 
)

Set the source file from where an vector object must fetch the real vector data (it may be one of json, svg, eet files).

If the file supports multiple data stored in it (as Eet files do), you can specify the key to be used as the index of the vector in this file.

Parameters:
[in]fileThe vector file path.
[in]keyThe vector key in file (if its an Eet one), or NULL, otherwise.
Returns:
EINA_TRUE if it's succeed to read file, EINA_FALSE otherwise.
Since (EFL) :
1.23

Control how the viewbox is mapped to the vg canvas's viewport.

Parameters:
[in]objThe object.
Returns:
Fill mode type
Since (EFL) :
1.24

Control how the viewbox is mapped to the vg canvas's viewport.

Parameters:
[in]objThe object.
[in]fill_modeFill mode type
Since (EFL) :
1.24
Evas_Vg_Node* evas_object_vg_root_node_get ( const Evas_Object obj)

Get the root node of the evas_object_vg.

Parameters:
[in]objThe object.
Returns:
Root node of the VG canvas.
Since (EFL) :
1.14
Since :
3.0
void evas_object_vg_root_node_set ( Evas_Object obj,
Evas_Vg_Node *  root 
)

Set the root node of the evas_object_vg.

Note:
To manually create the shape object and show in the Vg object canvas you must create the hierarchy and set as root node.

It takes the ownership of the root node.

Parameters:
[in]objThe object.
[in]rootRoot node(Evas_Vg_Container) of the VG canvas.
Since (EFL) :
1.24
Since :
6.0
void evas_object_vg_viewbox_align_get ( const Evas_Object obj,
double *  align_x,
double *  align_y 
)

Control how the viewbox is positioned inside the viewport.

Parameters:
[in]objThe object.
[out]align_xAlignment in the horizontal axis (0 <= align_x <= 1).
[out]align_yAlignment in the vertical axis (0 <= align_y <= 1).
Since (EFL) :
1.24
void evas_object_vg_viewbox_align_set ( Evas_Object obj,
double  align_x,
double  align_y 
)

Control how the viewbox is positioned inside the viewport.

Parameters:
[in]objThe object.
[in]align_xAlignment in the horizontal axis (0 <= align_x <= 1).
[in]align_yAlignment in the vertical axis (0 <= align_y <= 1).
Since (EFL) :
1.24

Get the current viewbox from the evas_object_vg.

Parameters:
[in]objThe object.
Returns:
viewbox for the vg canvas
Since (EFL) :
1.24
void evas_object_vg_viewbox_set ( Evas_Object obj,
Eina_Rect  viewbox 
)

Sets the viewbox for the evas vg canvas. viewbox if set should be mapped to the canvas geometry when rendering the vg tree.

Parameters:
[in]objThe object.
[in]viewboxviewbox for the vg canvas
Since (EFL) :
1.24
Evas_Vg_Container* evas_vg_container_add ( Evas_Object parent)

Creates a new vector container object.

Parameters:
[in]parentThe given vector container object.
Returns:
The created vector container object handle.
Since (EFL) :
1.14
Since :
3.0
Evas_Vg_Gradient_Linear* evas_vg_gradient_linear_add ( Evas_Vg_Container *  parent)

Creates a new linear gradient object.

Parameters:
[in]parentThe given vector container object.
Returns:
The created linear gradient object handle.
Since (EFL) :
1.24
Since :
6.0
void evas_vg_gradient_linear_end_get ( Evas_Vg_Gradient_Linear *  obj,
double *  x,
double *  y 
)

Gets the end point of this linear gradient.

Parameters:
[in]objThe object.
[out]xThe x co-ordinate of end point.
[out]yThe y co-ordinate of end point.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_gradient_linear_end_set ( Evas_Vg_Gradient_Linear *  obj,
double  x,
double  y 
)

Sets the end point of this linear gradient.

Parameters:
[in]objThe object.
[in]xThe x co-ordinate of end point.
[in]yThe y co-ordinate of end point.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_gradient_linear_start_get ( Evas_Vg_Gradient_Linear *  obj,
double *  x,
double *  y 
)

Gets the start point of this linear gradient.

Parameters:
[in]objThe object.
[out]xThe x co-ordinate of start point.
[out]yThe y co-ordinate of start point.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_gradient_linear_start_set ( Evas_Vg_Gradient_Linear *  obj,
double  x,
double  y 
)

Sets the start point of this linear gradient.

Parameters:
[in]objThe object.
[in]xThe x co-ordinate of start point.
[in]yThe y co-ordinate of start point
Since (EFL) :
1.24
Since :
3.0
Evas_Vg_Gradient_Radial* evas_vg_gradient_radial_add ( Evas_Vg_Container *  parent)

Creates a new radial gradient object.

Parameters:
[in]parentThe given vector container object.
Returns:
The created radial gradient object handle.
Since (EFL) :
1.24
Since :
6.0
void evas_vg_gradient_radial_center_get ( Evas_Vg_Gradient_Radial *  obj,
double *  x,
double *  y 
)

Gets the center of this radial gradient.

Parameters:
[in]objThe object.
[out]xThe x co-ordinate of center point.
[out]yThe y co-ordinate of center point.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_gradient_radial_center_set ( Evas_Vg_Gradient_Radial *  obj,
double  x,
double  y 
)

Sets the center of this radial gradient.

Parameters:
[in]objThe object.
[in]xThe x co-ordinate of center point.
[in]yThe y co-ordinate of center point.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_gradient_radial_focal_get ( Evas_Vg_Gradient_Radial *  obj,
double *  x,
double *  y 
)

Gets the focal point of this radial gradient.

Parameters:
[in]objThe object.
[out]xThe x co-ordinate of focal point.
[out]yThe y co-ordinate of focal point.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_gradient_radial_focal_set ( Evas_Vg_Gradient_Radial *  obj,
double  x,
double  y 
)

Sets the focal point of this radial gradient.

Parameters:
[in]objThe object.
[in]xThe x co-ordinate of focal point.
[in]yThe y co-ordinate of focal point.
Since (EFL) :
1.24
Since :
3.0
double evas_vg_gradient_radial_radius_get ( Evas_Vg_Gradient_Radial *  obj)

Gets the center radius of this radial gradient.

Parameters:
[in]objThe object.
Returns:
The center radius of the given object.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_gradient_radial_radius_set ( Evas_Vg_Gradient_Radial *  obj,
double  r 
)

Sets the center radius of this radial gradient.

Parameters:
[in]objThe object.
[in]rThe center radius.
Since (EFL) :
1.24
Since :
3.0

Returns the spread method use by this gradient. The default is EVAS_VG_GRADIENT_SPREAD_PAD.

Parameters:
[in]objThe object.
Returns:
The spread type of the given object.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_gradient_spread_set ( Evas_Vg_Gradient *  obj,
Evas_Vg_Gradient_Spread  s 
)

Specifies the spread method that should be used for this gradient.

Parameters:
[in]objThe object.
[in]sThe spread type to be used.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_gradient_stop_get ( Evas_Vg_Gradient *  obj,
const Evas_Vg_Gradient_Stop **  colors,
unsigned int *  length 
)

Get the list of color stops.

Parameters:
[in]objThe object.
[out]colorsThe color stops list.
[out]lengthThe length of the list.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_gradient_stop_set ( Evas_Vg_Gradient *  obj,
const Evas_Vg_Gradient_Stop colors,
unsigned int  length 
)

Set the list of color stops for the gradient.

Parameters:
[in]objThe object.
[in]colorsThe color stops list.
[in]lengthThe length of the list.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_node_color_get ( Evas_Vg_Node *  obj,
int *  r,
int *  g,
int *  b,
int *  a 
)

Retrieves the general/main color of the given Evas_Vg_Node object.

Retrieves the “main” color's RGB component (and alpha channel) values, which range from 0 to 255. For the alpha channel, which defines the object's transparency level, 0 means totally transparent, while 255 means opaque. These color values are premultiplied by the alpha value.

Note:
Use NULL pointers on the components you're not interested in: they'll be ignored by the function.
Parameters:
[in]objThe object.
[out]rThe red component of the given color.
[out]gThe green component of the given color.
[out]bThe blue component of the given color.
[out]aThe alpha component of the given color.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_node_color_set ( Evas_Vg_Node *  obj,
int  r,
int  g,
int  b,
int  a 
)

Sets the general/main color of the given Evas_Vg_Node object to the given one.

See also:
evas_vg_node_color_get() (for an example)
Note:
These color values are expected to be premultiplied by a.
Parameters:
[in]objThe object.
[in]rThe red component of the given color.
[in]gThe green component of the given color.
[in]bThe blue component of the given color.
[in]aThe alpha component of the given color.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_node_geometry_get ( Evas_Vg_Node *  obj,
int *  x,
int *  y,
int *  w,
int *  h 
)

Retrieves the geometry of the given Evas_Vg_Node object.

Parameters:
[in]objThe object.
[out]xThe x geometry of the given object.
[out]yThe y geometry of the given object.
[out]wThe w geometry of the given object.
[out]hThe h geometry of the given object.
Since (EFL) :
1.24
void evas_vg_node_geometry_set ( Evas_Vg_Node *  obj,
int  x,
int  y,
int  w,
int  h 
)

Changes the geometry of the given Evas_Vg_Node object.

Parameters:
[in]objThe object.
[in]xThe x geometry of the given object.
[in]yThe y geometry of the given object.
[in]wThe w geometry of the given object.
[in]hThe h geometry of the given object.
Since (EFL) :
1.24
Deprecated:
void evas_vg_node_lower ( Evas_Vg_Node *  obj)

Lower obj to the bottom of its layer.

obj will, then, be the lowest one in the layer it belongs to. Objects on other layers won't get touched.

See also:
evas_object_stack_above()
evas_object_stack_below()
evas_object_raise()
Parameters:
[in]objThe object.
Since (EFL) :
1.24
void evas_vg_node_raise ( Evas_Vg_Node *  obj)

Raise obj to the top of its layer.

obj will, then, be the highest one in the layer it belongs to. Object on other layers won't get touched.

See also:
evas_object_stack_above()
evas_object_stack_below()
evas_object_lower()
Parameters:
[in]objThe object.
Since (EFL) :
1.24
void evas_vg_node_stack_above ( Evas_Vg_Node *  obj,
Evas_Vg_Node *  above 
)

Stack obj immediately above above.

Objects, in a given canvas, are stacked in the order they get added to it. This means that, if they overlap, the highest ones will cover the lowest ones, in that order. This function is a way to change the stacking order for the objects.

This function is intended to be used with objects belonging to the same layer in a given canvas, otherwise it will fail (and accomplish nothing).

If you have smart objects on your canvas and obj is a member of one of them, then above must also be a member of the same smart object.

Similarly, if obj is not a member of a smart object, above must not be either.

See also:
evas_object_layer_get()
evas_object_layer_set()
evas_object_stack_below()
Parameters:
[in]objThe object.
[in]aboveThe object above which to stack.
Since (EFL) :
1.24
void evas_vg_node_stack_below ( Evas_Vg_Node *  obj,
Evas_Vg_Node *  below 
)

Stack obj immediately below below.

Objects, in a given canvas, are stacked in the order they get added to it. This means that, if they overlap, the highest ones will cover the lowest ones, in that order. This function is a way to change the stacking order for the objects.

This function is intended to be used with objects belonging to the same layer in a given canvas, otherwise it will fail (and accomplish nothing).

If you have smart objects on your canvas and obj is a member of one of them, then below must also be a member of the same smart object.

Similarly, if obj is not a member of a smart object, below must not be either.

See also:
evas_object_layer_get()
evas_object_layer_set()
evas_object_stack_below()
Parameters:
[in]objThe object.
[in]belowThe object below which to stack.
Since (EFL) :
1.24
Eina_Bool evas_vg_node_visible_get ( Evas_Vg_Node *  obj)

Retrieves whether or not the given Evas_Vg_Node object is visible.

Parameters:
[in]objThe object.
Returns:
EINA_TRUE if the object is visible, EINA_FALSE otherwise.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_node_visible_set ( Evas_Vg_Node *  obj,
Eina_Bool  v 
)

Makes the given Evas_Vg_Node object visible or invisible.

Parameters:
[in]objThe object.
[in]vEINA_TRUE if to make the object visible, EINA_FALSE otherwise.
Since (EFL) :
1.24
Since :
3.0
Evas_Vg_Shape* evas_vg_shape_add ( Evas_Vg_Container *  parent)

Creates a new vector shape object.

Parameters:
[in]parentThe given vector container object.
Returns:
The created vector shape object handle.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_shape_append_arc ( Evas_Vg_Shape *  obj,
double  x,
double  y,
double  w,
double  h,
double  start_angle,
double  sweep_length 
)

Append an arc that enclosed in the given rectangle (x, y, w, h). The angle is defined in counter clock wise , use -ve angle for clockwise arc.

Parameters:
[in]objThe object.
[in]yThe x co-ordinate of the rect.
[in]yThe y co-ordinate of the rect.
[in]wThe width of the rect.
[in]hThe height of the rect.
[in]start_angleThe angle at which the arc will start.
[in]sweep_lengthThe length of the arc.
Since (EFL) :
1.18
Since :
6.0
void evas_vg_shape_append_arc_to ( Evas_Vg_Shape *  obj,
double  x,
double  y,
double  rx,
double  ry,
double  angle,
Eina_Bool  large_arc,
Eina_Bool  sweep 
)

Append an arc that connects from the current point int the point list to the given point (x,y). The arc is defined by the given radius in x-direction (rx) and radius in y direction (ry).

Note:
Use this api if you know the end point's of the arc otherwise use more convenient function evas_vg_shape_append_arc_to()
See also:
evas_vg_shape_append_arc_to()
Parameters:
[in]objThe object.
[in]xThe x co-ordinate of end point of the arc.
[in]yThe y co-ordinate of end point of the arc.
[in]rxThe radius of arc in x direction.
[in]ryThe radius of arc in y direction.
[in]angleThe x-axis rotation , normally 0.
[in]large_arcDefines whether to draw the larger arc or smaller arc joining two point.
[in]sweepDefines whether the arc will be drawn counter-clockwise or clockwise from current point to the end point taking into account the large_arc property.
Since (EFL) :
1.14
Since :
6.0
void evas_vg_shape_append_circle ( Evas_Vg_Shape *  obj,
double  x,
double  y,
double  radius 
)

Append a circle with given center and radius.

See also:
evas_vg_shape_append_arc()
Parameters:
[in]objThe object.
[in]xThe x co-ordinate of the center of the circle.
[in]yThe y co-ordinate of the center of the circle.
[in]radiusThe radius of the circle.
Since (EFL) :
1.14
Since :
6.0
void evas_vg_shape_append_close ( Evas_Vg_Shape *  obj)

Closes the current subpath by drawing a line to the beginning of the subpath, automatically starting a new path. The current point of the new path is (0, 0).

Note:
If the subpath does not contain any points, this function does nothing.
Parameters:
[in]objThe object.
Since (EFL) :
1.14
Since :
6.0
void evas_vg_shape_append_cubic_to ( Evas_Vg_Shape *  obj,
double  x,
double  y,
double  ctrl_x0,
double  ctrl_y0,
double  ctrl_x1,
double  ctrl_y1 
)

Adds a cubic Bezier curve between the current position and the given end point (x,y) using the control points specified by (ctrl_x0, ctrl_y0), and (ctrl_x1, ctrl_y1). After the path is drawn, the current position is updated to be at the end point of the path.

Parameters:
[in]objThe object.
[in]xThe x co-ordinate of end point of the line.
[in]yThe y co-ordinate of end point of the line.
[in]ctrl_x0The x co-ordinate of 1st control point.
[in]ctrl_y0The y co-ordinate of 1st control point.
[in]ctrl_x1The x co-ordinate of 2nd control point.
[in]ctrl_y1The y co-ordinate of 2nd control point.
Since (EFL) :
1.14
Since :
6.0
void evas_vg_shape_append_ellipse ( Evas_Vg_Shape *  obj,
double  cx,
double  cy,
double  rx,
double  ry 
)

Append a ellipse with given center and x-radius, y-radius.

Parameters:
[in]objThe object.
[in]cxThe x co-ordinate of the center of the ellipse.
[in]cyThe y co-ordinate of the center of the ellipse.
[in]rxThe horizontal radius of the ellipse
[in]ryThe vertical radius of the ellipse
[in]radiusThe radius of the circle.
Since (EFL) :
1.25
void evas_vg_shape_append_line_to ( Evas_Vg_Shape *  obj,
double  x,
double  y 
)

Adds a straight line from the current position to the given endPoint. After the line is drawn, the current position is updated to be at the end point of the line.

Note:
if no current position present, it draws a line to itself, basically a point.
See also:
evas_vg_shape_append_move_to()
Parameters:
[in]objThe object.
[in]xThe x co-ordinate of end point of the line.
[in]yThe y co-ordinate of end point of the line.
Since (EFL) :
1.14
Since :
6.0
void evas_vg_shape_append_move_to ( Evas_Vg_Shape *  obj,
double  x,
double  y 
)

Moves the current point to the given point, implicitly starting a new subpath and closing the previous one.

See also:
evas_vg_shape_append_close()
Parameters:
[in]objThe object.
[in]xThe x co-ordinate of the current point.
[in]yThe y co-ordinate of the current point.
Since (EFL) :
1.14
Since :
6.0
void evas_vg_shape_append_quadratic_to ( Evas_Vg_Shape *  obj,
double  x,
double  y,
double  ctrl_x,
double  ctrl_y 
)

Adds a quadratic Bezier curve between the current position and the given end point (x,y) using the control points specified by (ctrl_x, ctrl_y). After the path is drawn, the current position is updated to be at the end point of the path.

Parameters:
[in]objThe object.
[in]xThe x co-ordinate of end point of the line.
[in]yThe y co-ordinate of end point of the line.
[in]ctrl_xThe x co-ordinate of control point.
[in]ctrl_yThe y co-ordinate of control point.
Since (EFL) :
1.14
void evas_vg_shape_append_rect ( Evas_Vg_Shape *  obj,
double  x,
double  y,
double  w,
double  h,
double  rx,
double  ry 
)

Append the given rectangle with rounded corner to the path.

The xr and yr arguments specify the radii of the ellipses defining the corners of the rounded rectangle.

Note:
xr and yr are specified in terms of width and height respectively.
if xr and yr are 0, then it will draw a rectangle without rounded corner.
Parameters:
[in]objThe object.
[in]xThe x co-ordinate of the rectangle.
[in]yThe y co-ordinate of the rectangle.
[in]wThe width of the rectangle.
[in]hThe height of the rectangle.
[in]rxThe x radius of the rounded corner and should be in range [0 to w/2].
[in]ryThe y radius of the rounded corner and should be in range [0 to h/2].
Since (EFL) :
1.14
Since :
6.0
void evas_vg_shape_append_scubic_to ( Evas_Vg_Shape *  obj,
double  x,
double  y,
double  ctrl_x,
double  ctrl_y 
)

Same as evas_vg_shape_append_cubic_to() api only difference is that it uses the current control point to draw the bezier.

See also:
evas_vg_shape_append_cubic_to()
Parameters:
[in]objThe object.
[in]xThe x co-ordinate of end point of the line.
[in]yThe x co-ordinate of end point of the line.
[in]ctrl_xThe x co-ordinate of 2nd control point.
[in]ctrl_yThe y co-ordinate of 2nd control point.
Since (EFL) :
1.14
void evas_vg_shape_append_squadratic_to ( Evas_Vg_Shape *  obj,
double  x,
double  y 
)

Same as evas_vg_shape_append_quadratic_to() api only difference is that it uses the current control point to draw the bezier.

See also:
evas_vg_shape_append_quadratic_to()
Parameters:
[in]objThe object.
[in]xThe x co-ordinate of end point of the line.
[in]yThe y co-ordinate of end point of the line.
Since (EFL) :
1.14
void evas_vg_shape_append_svg_path ( Evas_Vg_Shape *  obj,
const char *  svg_path_data 
)

Append the SVG path data.

Parameters:
[in]objThe object.
[in]svg_path_dataThe svg path data to append.
Since (EFL) :
1.24
void evas_vg_shape_current_ctrl_get ( Evas_Vg_Shape *  obj,
double *  x,
double *  y 
)

Gets the current control points.

Parameters:
[in]objThe object.
[out]xThe x co-ordinate of control point.
[out]yThe y co-ordinate of control point.
Since (EFL) :
1.14
void evas_vg_shape_current_get ( Evas_Vg_Shape *  obj,
double *  x,
double *  y 
)

Gets the current points.

Parameters:
[in]objThe object.
[out]xThe x co-ordinate of current point.
[out]yThe y co-ordinate of current point.
Since (EFL) :
1.14
void evas_vg_shape_dup ( Evas_Vg_Shape *  obj,
Evas_Vg_Shape *  dup_from 
)

Copy the shape data from the object specified.

Parameters:
[in]objThe object.
[in]dup_fromThe Shape object from where data will be copied.
Since (EFL) :
1.14
Since :
6.0
Eina_Bool evas_vg_shape_equal_commands ( Evas_Vg_Shape *  obj,
const Eo *  with 
)

Check if the given objects have equal commands.

Parameters:
[in]objThe object.
[in]withThe target object.
Returns:
True on equal, false otherwise.
Since (EFL) :
1.24
Evas_Vg_Node* evas_vg_shape_fill_get ( const Evas_Vg_Shape *  obj)

Returns the object that is set for the fill property.

Parameters:
[in]objThe object whose fill property is inspected.
Returns:
The object that is set as fill property.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_shape_fill_rule_get ( Evas_Vg_Shape *  obj,
Evas_Vg_Fill_Rule r 
)

Gets the fill rule.

Parameters:
[in]objobject.
[out]rThe fill rule to use.
Since (EFL) :
1.25.1
void evas_vg_shape_fill_rule_set ( Evas_Vg_Shape *  obj,
Evas_Vg_Fill_Rule  r 
)

Sets the fill rule to be used.

Parameters:
[in]objThe object.
[in]rThe fill rule to use, default is EVAS_VG_FILL_RULE_WINDING.
Since (EFL) :
1.25.1
void evas_vg_shape_fill_set ( Evas_Vg_Shape *  obj,
Evas_Vg_Node *  f 
)

Set a vg object as the fill property.

Parameters:
[in]objThe object whose fill property gets modified.
[in]fThe object content to be used for filling.
Since (EFL) :
1.24
Since :
3.0
Eina_Bool evas_vg_shape_interpolate ( Evas_Vg_Shape *  obj,
const Eo *  from,
const Eo *  to,
double  pos_map 
)

Creates intermediary path part-way between two paths.

Sets the points of the obj as the linear interpolation of the points in the from and to paths. The path's x,y position and control point coordinates are likewise interpolated.

The from and to paths must not already have equivalent points, and to must contain at least as many points as from, else the function returns false with no interpolation performed. If to has more points than from, the excess points are ignored.

Parameters:
[in]objThe object.
[in]fromThe source path.
[in]toThe destination path.
[in]pos_mapThe position map in range 0.0 to 1.0.
Since (EFL) :
1.24
void evas_vg_shape_path_get ( Evas_Vg_Shape *  obj,
const Evas_Vg_Path_Command **  op,
const double **  points 
)

Gets the command and points list.

Parameters:
[in]objThe object.
[out]opThe command list.
[out]pointsThe point list.
Since (EFL) :
1.14
Since :
6.0
void evas_vg_shape_path_length_get ( Evas_Vg_Shape *  obj,
unsigned int *  commands,
unsigned int *  points 
)

Gets the command and points length.

Parameters:
[in]objThe object.
[out]commandsThe command length.
[out]pointsThe points length.
Since (EFL) :
1.14
void evas_vg_shape_path_set ( Evas_Vg_Shape *  obj,
const Evas_Vg_Path_Command op,
const double *  points 
)

Set the list of commands and points to be used to create the content of shape.

See also:
Evas_Vg_Path_Command
Parameters:
[in]objThe object.
[in]opThe command list.
[in]pointsThe point list.
Since (EFL) :
1.14
Since :
6.0
void evas_vg_shape_reset ( Evas_Vg_Shape *  obj)

Reset the shape data of the shape object.

Parameters:
[in]objThe object.
Since (EFL) :
1.14
Since :
6.0
Evas_Vg_Cap evas_vg_shape_stroke_cap_get ( Evas_Vg_Shape *  obj)

Gets the cap style used for stroking path.

Parameters:
[in]objThe object.
Returns:
The cap style of the given object.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_shape_stroke_cap_set ( Evas_Vg_Shape *  obj,
Evas_Vg_Cap  c 
)

Sets the cap style to be used for stroking the path.

The cap will be used for capping the end point of a open subpath.

See also:
Evas_Vg_Cap
Parameters:
[in]objThe object.
[in]cThe cap style to use , default is EVAS_VG_CAP_BUTT
Since (EFL) :
1.14
Since :
3.0
void evas_vg_shape_stroke_color_get ( Evas_Vg_Shape *  obj,
int *  r,
int *  g,
int *  b,
int *  a 
)

Gets the color used for stroking the path.

Parameters:
[in]objThe object.
[out]rThe red component of the given color.
[out]gThe green component of the given color.
[out]bThe blue component of the given color.
[out]aThe alpha component of the given color.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_shape_stroke_color_set ( Evas_Vg_Shape *  obj,
int  r,
int  g,
int  b,
int  a 
)

Sets the color to be used for stroking the path.

Parameters:
[in]objThe object.
[in]rThe red component of the given color.
[in]gThe green component of the given color.
[in]bThe blue component of the given color.
[in]aThe alpha component of the given color.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_shape_stroke_dash_get ( Evas_Vg_Shape *  obj,
const Evas_Vg_Dash **  dash,
unsigned int *  length 
)

Gets the stroke dash type used for stroking path.

Parameters:
[in]objThe object.
[out]dashThe dash types.
[out]lengthThe length of dash types.
Since (EFL) :
1.24
void evas_vg_shape_stroke_dash_set ( Evas_Vg_Shape *  obj,
const Evas_Vg_Dash dash,
unsigned int  length 
)

Sets the stroke dash type to be used for stroking the path.

Parameters:
[in]objThe object.
[in]dashThe dash types.
[in]lengthThe length of dash types.
Since (EFL) :
1.24
Evas_Vg_Node* evas_vg_shape_stroke_fill_get ( const Evas_Vg_Shape *  obj)

Returns the object that is set for the stroke fill property.

Parameters:
[in]objThe object whose stroke fill property is inspected.
Returns:
The object that is set as stroke fill property.
Since (EFL) :
1.24
Since :
3.0
void evas_vg_shape_stroke_fill_set ( Evas_Vg_Shape *  obj,
Evas_Vg_Node *  f 
)

Set a vg object as the stroke fill property.

Parameters:
[in]objThe object whose stroke fill property gets modified.
[in]fThe object content will be used for stroke filling.
Since (EFL) :
1.24
Since :
3.0
Evas_Vg_Join evas_vg_shape_stroke_join_get ( Evas_Vg_Shape *  obj)

Gets the join style used for stroking path.

Parameters:
[in]objThe object.
Returns:
The join style of the given object.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_shape_stroke_join_set ( Evas_Vg_Shape *  obj,
Evas_Vg_Join  j 
)

Sets the join style to be used for stroking the path.

The join style will be used for joining the two line segment while stroking the path.

See also:
Evas_Vg_Join
Parameters:
[in]objThe object.
[in]jThe join style to use, default is EVAS_VG_JOIN_MITER.
Since (EFL) :
1.14
Since :
3.0
double evas_vg_shape_stroke_location_get ( Evas_Vg_Shape *  obj)

Gets the stroke location to be used for stroking the path.

Parameters:
[in]objThe object.
Returns:
The stroke location.
Since (EFL) :
1.24
void evas_vg_shape_stroke_location_set ( Evas_Vg_Shape *  obj,
double  centered 
)

Sets the stroke location to be used for stroking the path.

Parameters:
[in]objThe object.
[in]centeredThe stroke location.
Since (EFL) :
1.24
double evas_vg_shape_stroke_scale_get ( Evas_Vg_Shape *  obj)

Get the stroke scaling factor used for stroking this path.

Parameters:
[in]objThe object.
Returns:
The stroke scale of the given object.
Since (EFL) :
1.14
void evas_vg_shape_stroke_scale_set ( Evas_Vg_Shape *  obj,
double  s 
)

Sets the stroke scale to be used for stroking the path. the scale property will be used along with stroke width property.

Parameters:
[in]objThe object.
[in]sThe stroke scale value.
Since (EFL) :
1.14
double evas_vg_shape_stroke_width_get ( Evas_Vg_Shape *  obj)

Gets the stroke width to be used for stroking the path.

Parameters:
[in]objThe object.
Returns:
The stroke width of the given object.
Since (EFL) :
1.14
Since :
3.0
void evas_vg_shape_stroke_width_set ( Evas_Vg_Shape *  obj,
double  w 
)

Sets the stroke width to be used for stroking the path.

Parameters:
[in]objThe object.
[in]wThe stroke width to be used.
Since (EFL) :
1.14
Since :
3.0