Tizen Native API  5.5
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:
1.14

Functions

Efl_Canvas_Vg_Node * evas_object_vg_root_node_get (const Efl_VG *obj)
 Control how the viewbox is mapped to the vg canvas's viewport.
Evas_Objectevas_object_vg_add (Evas *e)
 Creates a new vector object on the given Evas e canvas.
Efl_VG * evas_vg_shape_add (Efl_VG *parent)
Efl_VG * evas_vg_container_add (Efl_VG *parent)
Eina_Bool evas_vg_node_visible_get (Eo *obj)
void evas_vg_node_visible_set (Eo *obj, Eina_Bool v)
void evas_vg_node_color_get (Eo *obj, int *r, int *g, int *b, int *a)
void evas_vg_node_color_set (Eo *obj, int r, int g, int b, int a)
void evas_vg_shape_stroke_color_get (Eo *obj, int *r, int *g, int *b, int *a)
void evas_vg_shape_stroke_color_set (Eo *obj, int r, int g, int b, int a)
double evas_vg_shape_stroke_width_get (Eo *obj)
void evas_vg_shape_stroke_width_set (Eo *obj, double w)
Efl_Gfx_Cap evas_vg_shape_stroke_cap_get (Eo *obj)
void evas_vg_shape_stroke_cap_set (Eo *obj, Efl_Gfx_Cap c)
Efl_Gfx_Join evas_vg_shape_stroke_join_get (Eo *obj)
void evas_vg_shape_stroke_join_set (Eo *obj, Efl_Gfx_Join j)
void evas_vg_shape_fill_set (Eo *obj, Efl_VG *f)
 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.
Efl_VG * evas_vg_shape_fill_get (const Eo *obj)
void evas_vg_shape_stroke_fill_set (Eo *obj, Efl_VG *f)
Efl_VG * evas_vg_shape_stroke_fill_get (const Eo *obj)
void evas_vg_gradient_stop_set (Eo *obj, const Efl_Gfx_Gradient_Stop *colors, unsigned int length)
void evas_vg_gradient_stop_get (Eo *obj, const Efl_Gfx_Gradient_Stop **colors, unsigned int *length)
void evas_vg_gradient_spread_set (Eo *obj, Efl_Gfx_Gradient_Spread s)
Efl_Gfx_Gradient_Spread evas_vg_gradient_spread_get (Eo *obj)
void evas_vg_gradient_linear_start_set (Eo *obj, double x, double y)
void evas_vg_gradient_linear_start_get (Eo *obj, double *x, double *y)
void evas_vg_gradient_linear_end_set (Eo *obj, double x, double y)
void evas_vg_gradient_linear_end_get (Eo *obj, double *x, double *y)
void evas_vg_gradient_radial_center_set (Eo *obj, double x, double y)
void evas_vg_gradient_radial_center_get (Eo *obj, double *x, double *y)
void evas_vg_gradient_radial_radius_set (Eo *obj, double r)
double evas_vg_gradient_radial_radius_get (Eo *obj)
void evas_vg_gradient_radial_focal_set (Eo *obj, double x, double y)
void evas_vg_gradient_radial_focal_get (Eo *obj, double *x, double *y)

Enumeration Type Documentation

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

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.


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:
1.14 3.0f(2.3.1)
Efl_Canvas_Vg_Node* evas_object_vg_root_node_get ( const Efl_VG *  obj)

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

Parameters:
[in]objThe object.
[in]fill_modeFill mode type Control how the viewbox is mapped to the vg canvas's viewport.
[in]objThe object.
Returns:
Fill mode type 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 Get the current viewbox from the evas_object_vg
[in]objThe object.
Returns:
viewbox for the vg canvas 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). Control how the viewbox is positioned inside the viewport.
[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). 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(Efl_Canvas_Vg_Container) of the VG canvas. Get the root node of the evas_object_vg.
[in]objThe object.
Returns:
Root node of the VG canvas.
Since (EFL) :
1.14
Since :
3.0f(2.3.1)
Efl_VG* evas_vg_container_add ( Efl_VG *  parent)

Creates a new vector container object.

Parameters:
parentThe given vector container object.
Returns:
The created vector container object handle.
Since:
1.14 3.0f(2.3.1)
void evas_vg_gradient_linear_end_get ( Eo *  obj,
double *  x,
double *  y 
)

Gets the end point of this linear gradient.

Parameters:
[out]xx co-ordinate of end point
[out]yy co-ordinate of end point 3.0f(2.3.1)
void evas_vg_gradient_linear_end_set ( Eo *  obj,
double  x,
double  y 
)

Sets the end point of this linear gradient.

Parameters:
[in]xx co-ordinate of end point
[in]yy co-ordinate of end point 3.0f(2.3.1)
void evas_vg_gradient_linear_start_get ( Eo *  obj,
double *  x,
double *  y 
)

Gets the start point of this linear gradient.

Parameters:
[out]xx co-ordinate of start point
[out]yy co-ordinate of start point 3.0f(2.3.1)
void evas_vg_gradient_linear_start_set ( Eo *  obj,
double  x,
double  y 
)

Creates a new linear gradient object \.

Parameters:
parentThe given vector container object.
Returns:
The created linear gradient object handle.

Sets the start point of this linear gradient.

Parameters:
[in]xx co-ordinate of start point
[in]yy co-ordinate of start point 3.0f(2.3.1)
void evas_vg_gradient_radial_center_get ( Eo *  obj,
double *  x,
double *  y 
)

Gets the center of this radial gradient.

Parameters:
[out]xx co-ordinate of center point
[out]yy co-ordinate of center point 3.0f(2.3.1)
void evas_vg_gradient_radial_center_set ( Eo *  obj,
double  x,
double  y 
)

Creates a new radial gradient object \.

Parameters:
parentThe given vector container object.
Returns:
The created radial gradient object handle.

Sets the center of this radial gradient.

Parameters:
[in]xx co-ordinate of center point
[in]yy co-ordinate of center point 3.0f(2.3.1)
void evas_vg_gradient_radial_focal_get ( Eo *  obj,
double *  x,
double *  y 
)

Gets the focal point of this radial gradient.

Parameters:
[out]xx co-ordinate of focal point
[out]yy co-ordinate of focal point 3.0f(2.3.1)
void evas_vg_gradient_radial_focal_set ( Eo *  obj,
double  x,
double  y 
)

Sets the focal point of this radial gradient.

Parameters:
[in]xx co-ordinate of focal point
[in]yy co-ordinate of focal point 3.0f(2.3.1)
double evas_vg_gradient_radial_radius_get ( Eo *  obj)

Gets the center radius of this radial gradient. 3.0f(2.3.1)

void evas_vg_gradient_radial_radius_set ( Eo *  obj,
double  r 
)

Sets the center radius of this radial gradient.

Parameters:
[in]rcenter radius 3.0f(2.3.1)
Efl_Gfx_Gradient_Spread evas_vg_gradient_spread_get ( Eo *  obj)

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

Since:
1.14 3.0f(2.3.1)
void evas_vg_gradient_spread_set ( Eo *  obj,
Efl_Gfx_Gradient_Spread  s 
)

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

Since:
1.14
Parameters:
[in]sspread type to be used 3.0f(2.3.1)
void evas_vg_gradient_stop_get ( Eo *  obj,
const Efl_Gfx_Gradient_Stop **  colors,
unsigned int *  length 
)

get the list of color stops.

Since:
1.14
Parameters:
[out]colorscolor stops list
[out]lengthlength of the list 3.0f(2.3.1)
void evas_vg_gradient_stop_set ( Eo *  obj,
const Efl_Gfx_Gradient_Stop *  colors,
unsigned int  length 
)

Set the list of color stops for the gradient

Since:
1.14
Parameters:
[in]colorscolor stops list
[in]lengthlength of the list 3.0f(2.3.1)
void evas_vg_node_color_get ( Eo *  obj,
int *  r,
int *  g,
int *  b,
int *  a 
)

Retrieves the general/main color of the given Efl_Vg 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:
[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. 3.0f(2.3.1)
void evas_vg_node_color_set ( Eo *  obj,
int  r,
int  g,
int  b,
int  a 
)

Sets the general/main color of the given Efl_Vg 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. 3.0f(2.3.1)

Retrieves whether or not the given Efl_Vg object is visible. 3.0f(2.3.1)

void evas_vg_node_visible_set ( Eo *  obj,
Eina_Bool  v 
)

Makes the given Efl_Vg object visible or invisible.

Parameters:
[in]vEINA_TRUE if to make the object visible, EINA_FALSE otherwise 3.0f(2.3.1)
Efl_VG* evas_vg_shape_add ( Efl_VG *  parent)

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:
1.23 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:
1.23

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:
1.23 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:
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:
1.23 Creates a new vector shape object.
Parameters:
parentThe given vector container object.
Returns:
The created vector shape object handle.
Since:
1.14 3.0f(2.3.1)
Efl_VG* evas_vg_shape_fill_get ( const Eo *  obj)

returns the object that is set for the fill property

Parameters:
objThe object whose fill property is inspected.
Returns:
The object that is set as fill property. 3.0f(2.3.1)
void evas_vg_shape_fill_set ( Eo *  obj,
Efl_VG *  f 
)

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.

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

Note:
see efl_gfx_path interface for how to create a command list.
See also:
Efl_Gfx_Path_Command
Since:
1.14
Parameters:
[in]opcommand list
[in]pointspoint list

Gets the command and points list

Since:
1.14
Parameters:
[out]opcommand list
[out]pointspoint list

Copy the shape data from the object specified .

Since:
1.14
Parameters:
[in]dup_fromShape object from where data will be copied.

Reset the shape data of the shape object.

Since:
1.14

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

See also:
efl_gfx_path_append_close()
Since:
1.14
Parameters:
[in]xX co-ordinate of the current point.
[in]yY co-ordinate of the current point.

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:
efl_gfx_path_append_move_to()
Since:
1.14
Parameters:
[in]xX co-ordinate of end point of the line.
[in]yY co-ordinate of end point of the line.

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.

Since:
1.14
Parameters:
[in]xX co-ordinate of end point of the line.
[in]yY co-ordinate of end point of the line.
[in]ctrl_xX co-ordinate of control point.
[in]ctrl_yY co-ordinate of control point.

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

See also:
efl_gfx_path_append_quadratic_to()
Since:
1.14
Parameters:
[in]xX co-ordinate of end point of the line.
[in]yY co-ordinate of end point of the line.

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.

Since:
1.14
Parameters:
[in]xX co-ordinate of end point of the line.
[in]yY co-ordinate of end point of the line.
[in]ctrl_x0X co-ordinate of 1st control point.
[in]ctrl_y0Y co-ordinate of 1st control point.
[in]ctrl_x1X co-ordinate of 2nd control point.
[in]ctrl_y1Y co-ordinate of 2nd control point.

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

See also:
efl_gfx_path_append_cubic_to()
Since:
1.14
Parameters:
[in]xX co-ordinate of end point of the line.
[in]yY co-ordinate of end point of the line.
[in]ctrl_xX co-ordinate of 2nd control point.
[in]ctrl_yY co-ordinate of 2nd control point.

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 efl_gfx_path_append_arc_to()
See also:
efl_gfx_path_append_arc_to()
Since:
1.14
Parameters:
[in]xX co-ordinate of end point of the arc.
[in]yY co-ordinate of end point of the arc.
[in]rxradius of arc in x direction.
[in]ryradius of arc in y direction.
[in]anglex-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.
[in]yY co-ordinate of the rect.
[in]wwidth of the rect.
[in]hheight of the rect.
[in]start_angleAngle at which the arc will start
[in]sweep_length@ Length of the arc.
Since:
1.18

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.
Since:
1.14

Append a circle with given center and radius.

See also:
efl_gfx_path_append_arc()
Since:
1.14
Parameters:
[in]xX co-ordinate of the center of the circle.
[in]yY co-ordinate of the center of the circle.
[in]radiusradius of the circle.

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.
Since:
1.14
Parameters:
[in]xX co-ordinate of the rectangle.
[in]yY co-ordinate of the rectangle.
[in]wWidth of the rectangle.
[in]hHeight 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 ] set a vg object as the fill property
objThe object whose fill property gets modified.
fThe object content will be used for filling. 3.0f(2.3.1)
Efl_Gfx_Cap evas_vg_shape_stroke_cap_get ( Eo *  obj)

Not Implemented

Not Implemented

Parameters:
[in]centeredNot Implemented
[out]dash
[out]lengthNot Implemented
[in]dash
[in]lengthGets the cap style used for stroking path.
Since:
1.14 3.0f(2.3.1)
void evas_vg_shape_stroke_cap_set ( Eo *  obj,
Efl_Gfx_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:
Efl_Gfx_Cap
Since:
1.14
Parameters:
[in]ccap style to use , default is EFL_GFX_CAP_BUTT 3.0f(2.3.1)
void evas_vg_shape_stroke_color_get ( Eo *  obj,
int *  r,
int *  g,
int *  b,
int *  a 
)

Retrieves the geometry of the given Efl_Vg object.

Parameters:
[out]xin
[out]yin
[out]win
[out]hin

Changes the geometry of the given Efl_Vg object.

Parameters:
[in]xin
[in]yin
[in]win
[in]hin

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]belowthe object below which to stack

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]abovethe object above which to stack

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()

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()

Get the stroke scaling factor used for stroking this path.

Since:
1.14

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

Since:
1.14
Parameters:
[in]sstroke scale value

Gets the color used for stroking the path.

Since:
1.14
Parameters:
[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. 3.0f(2.3.1)
void evas_vg_shape_stroke_color_set ( Eo *  obj,
int  r,
int  g,
int  b,
int  a 
)

Sets the color to be used for stroking the path.

Since:
1.14
Parameters:
[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. 3.0f(2.3.1)
Efl_VG* evas_vg_shape_stroke_fill_get ( const Eo *  obj)

returns the object that is set for the stroke fill property

Parameters:
objThe object whose stroke fill property is inspected.
Returns:
The object that is set as stroke fill property. 3.0f(2.3.1)
void evas_vg_shape_stroke_fill_set ( Eo *  obj,
Efl_VG *  f 
)

set a vg object as the stroke fill property

Parameters:
objThe object whose stroke fill property gets modified.
fThe object content will be used for stroke filling. 3.0f(2.3.1)
Efl_Gfx_Join evas_vg_shape_stroke_join_get ( Eo *  obj)

Gets the join style used for stroking path.

Since:
1.14 3.0f(2.3.1)
void evas_vg_shape_stroke_join_set ( Eo *  obj,
Efl_Gfx_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:
Efl_Gfx_Join
Since:
1.14
Parameters:
[in]jjoin style to use , default is EFL_GFX_JOIN_MITER 3.0f(2.3.1)
double evas_vg_shape_stroke_width_get ( Eo *  obj)

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

Since:
1.14 3.0f(2.3.1)
void evas_vg_shape_stroke_width_set ( Eo *  obj,
double  w 
)

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

Since:
1.14
Parameters:
[in]wstroke width to be used 3.0f(2.3.1)