enesim  0.0.23.1
Drawinglibrary
Modules | Typedefs | Functions
Paths
Basic types

Path definition. More...

Modules

 Path Commands
 

Path commands definition.


Typedefs

typedef struct _Enesim_Path Enesim_Path

Functions

EAPI Enesim_Pathenesim_path_new (void)
 Creates a new path.
EAPI Enesim_Pathenesim_path_ref (Enesim_Path *thiz)
 Increase the reference counter of a path.
EAPI void enesim_path_unref (Enesim_Path *thiz)
 Decrease the reference counter of a path.
EAPI void enesim_path_command_clear (Enesim_Path *thiz)
EAPI void enesim_path_command_add (Enesim_Path *thiz, Enesim_Path_Command *cmd)
EAPI void enesim_path_move_to (Enesim_Path *thiz, double x, double y)
EAPI void enesim_path_line_to (Enesim_Path *thiz, double x, double y)
EAPI void enesim_path_squadratic_to (Enesim_Path *thiz, double x, double y)
EAPI void enesim_path_quadratic_to (Enesim_Path *thiz, double ctrl_x, double ctrl_y, double x, double y)
EAPI void enesim_path_cubic_to (Enesim_Path *thiz, double ctrl_x0, double ctrl_y0, double ctrl_x, double ctrl_y, double x, double y)
EAPI void enesim_path_scubic_to (Enesim_Path *thiz, double ctrl_x, double ctrl_y, double x, double y)
EAPI void enesim_path_arc_to (Enesim_Path *thiz, double rx, double ry, double angle, unsigned char large, unsigned char sweep, double x, double y)
EAPI void enesim_path_close (Enesim_Path *thiz)
EAPI Enesim_Figureenesim_path_flatten (const Enesim_Path *thiz)

Detailed Description

Path definition.


Typedef Documentation

typedef struct _Enesim_Path Enesim_Path

A path handle


Function Documentation

EAPI Enesim_Path* enesim_path_new ( void  )

Creates a new path.

Returns:
The newly created path

Increase the reference counter of a path.

Parameters:
[in]thizThe path
Returns:
The input parameter thiz for programming convenience
EAPI void enesim_path_unref ( Enesim_Path thiz)

Decrease the reference counter of a path.

Parameters:
[in]thizThe path
EAPI void enesim_path_command_clear ( Enesim_Path thiz)

Clear the command list of a path

Parameters:
[in]thizThe path to clear
EAPI void enesim_path_command_add ( Enesim_Path thiz,
Enesim_Path_Command cmd 
)

Add a command to a path

Parameters:
[in]thizThe path to add the command to
[in]cmdThe command to add
EAPI void enesim_path_move_to ( Enesim_Path thiz,
double  x,
double  y 
)

Add a move to command to a path

Parameters:
[in]thizThe path to add the command to
[in]xThe X coordinate of the move to command
[in]yThe Y coordinate of the move to command
EAPI void enesim_path_line_to ( Enesim_Path thiz,
double  x,
double  y 
)

Add a line to command to a path

Parameters:
[in]thizThe path to add the command to
[in]xThe X coordinate of the line to command
[in]yThe Y coordinate of the line to command
EAPI void enesim_path_squadratic_to ( Enesim_Path thiz,
double  x,
double  y 
)

Add a smooth quadratic to command to a path

Parameters:
[in]thizThe path to add the command to
[in]xThe X destination coordinate
[in]yThe Y destination coordinate
EAPI void enesim_path_quadratic_to ( Enesim_Path thiz,
double  ctrl_x,
double  ctrl_y,
double  x,
double  y 
)

Add a quadratic to command to a path

Parameters:
[in]thizThe path to add the command to
[in]ctrl_xThe control point X coordinate
[in]ctrl_yThe control point Y coordinate
[in]xThe X destination coordinate
[in]yThe Y destination coordinate
EAPI void enesim_path_cubic_to ( Enesim_Path thiz,
double  ctrl_x0,
double  ctrl_y0,
double  ctrl_x,
double  ctrl_y,
double  x,
double  y 
)

Add a cubic to command to a path

Parameters:
[in]thizThe path to add the command to
[in]ctrl_x0The first control point X coordinate
[in]ctrl_y0The first control point Y coordinate
[in]ctrl_xThe second control point X coordinate
[in]ctrl_yThe second control point Y coordinate
[in]xThe X destination coordinate
[in]yThe Y destination coordinate
EAPI void enesim_path_scubic_to ( Enesim_Path thiz,
double  ctrl_x,
double  ctrl_y,
double  x,
double  y 
)

Add a smooth cubic to command to a path

Parameters:
[in]thizThe path to add the command to
[in]ctrl_xThe control point X coordinate
[in]ctrl_yThe control point Y coordinate
[in]xThe X destination coordinate
[in]yThe Y destination coordinate
EAPI void enesim_path_arc_to ( Enesim_Path thiz,
double  rx,
double  ry,
double  angle,
unsigned char  large,
unsigned char  sweep,
double  x,
double  y 
)

Add a an arc to command to a path

Parameters:
[in]thizThe path to add the command to
[in]rxThe radius in X
[in]ryThe radius in Y
[in]angleThe rotation on the X coordinate
[in]largeIf Eina_True the large arc will be chosen
[in]sweepIf Eina_True the arc in positive-angle will be chosen
[in]xThe X destination coordinate
[in]yThe Y destination coordinate
EAPI void enesim_path_close ( Enesim_Path thiz)

Close a path

Parameters:
[in]thizThe path to close

Flatten a path

Parameters:
[in]thizthe path to flatten
Returns:
The figure that contains the flatten path vertices
 All Data Structures Variables