lv_svg.h

API reference for lv_svg.h

Report on GitHub

Functions

lv_svg_load_data

Loading SVG data and creating the DOM tree.

 
lv_svg_node_t * lv_svg_load_data(const char *svg_data, uint32_t data_len)
Parameters
NameTypeDescription
svg_dataconst char *pointer to the SVG data
data_lenuint32_tthe SVG data length

lv_svg_node_create

Create an SVG DOM node.

 
lv_svg_node_t * lv_svg_node_create(lv_svg_node_t *parent)
Parameters
NameTypeDescription
parentlv_svg_node_t *pointer to the parent node

Returns: lv_svg_node_t * — true: an new SVG DOM node, false: NULL

lv_svg_node_delete

Delete an SVG DOM subtree.

 
void lv_svg_node_delete(lv_svg_node_t *node)
Parameters
NameTypeDescription
nodelv_svg_node_t *pointer to an SVG DOM subtree

Enums

_lv_svg_tag_t

NameValue
LV_SVG_TAG_INVALID-1
LV_SVG_TAG_CONTENT
LV_SVG_TAG_SVG
LV_SVG_TAG_USE
LV_SVG_TAG_G
LV_SVG_TAG_PATH
LV_SVG_TAG_RECT
LV_SVG_TAG_CIRCLE
LV_SVG_TAG_ELLIPSE
LV_SVG_TAG_LINE
LV_SVG_TAG_POLYLINE
LV_SVG_TAG_POLYGON
LV_SVG_TAG_SOLID_COLOR
LV_SVG_TAG_LINEAR_GRADIENT
LV_SVG_TAG_RADIAL_GRADIENT
LV_SVG_TAG_STOP
LV_SVG_TAG_DEFS
LV_SVG_TAG_IMAGE
LV_SVG_TAG_MPATH
LV_SVG_TAG_SET
LV_SVG_TAG_ANIMATE
LV_SVG_TAG_ANIMATE_COLOR
LV_SVG_TAG_ANIMATE_TRANSFORM
LV_SVG_TAG_ANIMATE_MOTION
LV_SVG_TAG_TEXT
LV_SVG_TAG_TSPAN
LV_SVG_TAG_TEXT_AREA

_lv_svg_attr_type_t

NameValue
LV_SVG_ATTR_INVALID0
LV_SVG_ATTR_ID
LV_SVG_ATTR_XML_ID
LV_SVG_ATTR_VERSION
LV_SVG_ATTR_BASE_PROFILE
LV_SVG_ATTR_VIEWBOX
LV_SVG_ATTR_PRESERVE_ASPECT_RATIO
LV_SVG_ATTR_VIEWPORT_FILL
LV_SVG_ATTR_VIEWPORT_FILL_OPACITY
LV_SVG_ATTR_DISPLAY
LV_SVG_ATTR_VISIBILITY
LV_SVG_ATTR_X
LV_SVG_ATTR_Y
LV_SVG_ATTR_WIDTH
LV_SVG_ATTR_HEIGHT
LV_SVG_ATTR_RX
LV_SVG_ATTR_RY
LV_SVG_ATTR_CX
LV_SVG_ATTR_CY
LV_SVG_ATTR_R
LV_SVG_ATTR_X1
LV_SVG_ATTR_Y1
LV_SVG_ATTR_X2
LV_SVG_ATTR_Y2
LV_SVG_ATTR_POINTS
LV_SVG_ATTR_D
LV_SVG_ATTR_PATH_LENGTH
LV_SVG_ATTR_XLINK_HREF
LV_SVG_ATTR_STYLE
LV_SVG_ATTR_FILL
LV_SVG_ATTR_FILL_RULE
LV_SVG_ATTR_FILL_OPACITY
LV_SVG_ATTR_STROKE
LV_SVG_ATTR_STROKE_WIDTH
LV_SVG_ATTR_STROKE_LINECAP
LV_SVG_ATTR_STROKE_LINEJOIN
LV_SVG_ATTR_STROKE_MITER_LIMIT
LV_SVG_ATTR_STROKE_DASH_ARRAY
LV_SVG_ATTR_STROKE_DASH_OFFSET
LV_SVG_ATTR_STROKE_OPACITY
LV_SVG_ATTR_OPACITY
LV_SVG_ATTR_SOLID_COLOR
LV_SVG_ATTR_SOLID_OPACITY
LV_SVG_ATTR_GRADIENT_UNITS
LV_SVG_ATTR_GRADIENT_STOP_OFFSET
LV_SVG_ATTR_GRADIENT_STOP_COLOR
LV_SVG_ATTR_GRADIENT_STOP_OPACITY
LV_SVG_ATTR_FONT_FAMILY
LV_SVG_ATTR_FONT_STYLE
LV_SVG_ATTR_FONT_VARIANT
LV_SVG_ATTR_FONT_WEIGHT
LV_SVG_ATTR_FONT_SIZE
LV_SVG_ATTR_TRANSFORM
LV_SVG_ATTR_TEXT_ANCHOR
LV_SVG_ATTR_ATTRIBUTE_NAME
LV_SVG_ATTR_ATTRIBUTE_TYPE
LV_SVG_ATTR_BEGIN
LV_SVG_ATTR_END
LV_SVG_ATTR_DUR
LV_SVG_ATTR_MIN
LV_SVG_ATTR_MAX
LV_SVG_ATTR_RESTART
LV_SVG_ATTR_REPEAT_COUNT
LV_SVG_ATTR_REPEAT_DUR
LV_SVG_ATTR_CALC_MODE
LV_SVG_ATTR_VALUES
LV_SVG_ATTR_KEY_TIMES
LV_SVG_ATTR_KEY_SPLINES
LV_SVG_ATTR_KEY_POINTS
LV_SVG_ATTR_FROM
LV_SVG_ATTR_TO
LV_SVG_ATTR_BY
LV_SVG_ATTR_ADDITIVE
LV_SVG_ATTR_ACCUMULATE
LV_SVG_ATTR_PATH
LV_SVG_ATTR_ROTATE
LV_SVG_ATTR_TRANSFORM_TYPE

_lv_svg_transform_type_t

NameValue
LV_SVG_TRANSFORM_TYPE_MATRIX1
LV_SVG_TRANSFORM_TYPE_TRANSLATE
LV_SVG_TRANSFORM_TYPE_ROTATE
LV_SVG_TRANSFORM_TYPE_SCALE
LV_SVG_TRANSFORM_TYPE_SKEW_X
LV_SVG_TRANSFORM_TYPE_SKEW_Y

lv_svg_anim_action_t

NameValue
LV_SVG_ANIM_REMOVE0
LV_SVG_ANIM_FREEZE

_lv_svg_anim_restart_type_t

NameValue
LV_SVG_ANIM_RESTART_ALWAYS0
LV_SVG_ANIM_RESTART_WHEN_NOT_ACTIVE
LV_SVG_ANIM_RESTART_NEVER

_lv_svg_anim_calc_mode_t

NameValue
LV_SVG_ANIM_CALC_MODE_LINEAR0
LV_SVG_ANIM_CALC_MODE_PACED
LV_SVG_ANIM_CALC_MODE_SPLINE
LV_SVG_ANIM_CALC_MODE_DISCRETE

_lv_svg_anim_additive_type_t

NameValue
LV_SVG_ANIM_ADDITIVE_REPLACE0
LV_SVG_ANIM_ADDITIVE_SUM

_lv_svg_anim_accumulate_type_t

NameValue
LV_SVG_ANIM_ACCUMULATE_NONE0
LV_SVG_ANIM_ACCUMULATE_SUM

_lv_svg_aspect_ratio_t

NameValue
LV_SVG_ASPECT_RATIO_NONE0
LV_SVG_ASPECT_RATIO_XMIN_YMIN(1 << 1)
LV_SVG_ASPECT_RATIO_XMID_YMIN(2 << 1)
LV_SVG_ASPECT_RATIO_XMAX_YMIN(3 << 1)
LV_SVG_ASPECT_RATIO_XMIN_YMID(4 << 1)
LV_SVG_ASPECT_RATIO_XMID_YMID(5 << 1)
LV_SVG_ASPECT_RATIO_XMAX_YMID(6 << 1)
LV_SVG_ASPECT_RATIO_XMIN_YMAX(7 << 1)
LV_SVG_ASPECT_RATIO_XMID_YMAX(8 << 1)
LV_SVG_ASPECT_RATIO_XMAX_YMAX(9 << 1)

_lv_svg_aspect_ratio_opt_t

NameValue
LV_SVG_ASPECT_RATIO_OPT_MEET0
LV_SVG_ASPECT_RATIO_OPT_SLICE

_lv_svg_fill_rule_t

NameValue
LV_SVG_FILL_NONZERO0
LV_SVG_FILL_EVENODD

_lv_svg_line_cap_t

NameValue
LV_SVG_LINE_CAP_BUTT0
LV_SVG_LINE_CAP_SQUARE
LV_SVG_LINE_CAP_ROUND

_lv_svg_line_join_t

NameValue
LV_SVG_LINE_JOIN_MITER0
LV_SVG_LINE_JOIN_BEVEL
LV_SVG_LINE_JOIN_ROUND

_lv_svg_gradient_units_t

NameValue
LV_SVG_GRADIENT_UNITS_OBJECT0
LV_SVG_GRADIENT_UNITS_USER_SPACE

_lv_svg_path_cmd_t

NameValue
LV_SVG_PATH_CMD_MOVE_TO77
LV_SVG_PATH_CMD_LINE_TO76
LV_SVG_PATH_CMD_CURVE_TO67
LV_SVG_PATH_CMD_QUAD_TO81
LV_SVG_PATH_CMD_ARC_TO65
LV_SVG_PATH_CMD_CLOSE90

_lv_svg_attr_value_type_t

NameValue
LV_SVG_ATTR_VALUE_DATA0
LV_SVG_ATTR_VALUE_PTR

_lv_svg_attr_value_class_t

NameValue
LV_SVG_ATTR_VALUE_NONE0
LV_SVG_ATTR_VALUE_INITIAL
LV_SVG_ATTR_VALUE_INHERIT

Structs

struct

lv_svg_point_t

MemberTypeDescription
xfloat
yfloat
struct

lv_svg_matrix_t

MemberTypeDescription
mfloat[3][3]
struct

lv_svg_attr_value_t

MemberTypeDescription
ivalint32_t
uvaluint32_t
fvalfloat
svalchar *
valvoid *
struct

lv_svg_attr_values_list_t

MemberTypeDescription
lengthuint32_t
datauint8_t[1]
struct

lv_svg_attr_path_value_t

MemberTypeDescription
cmduint32_t
datauint8_t[1]
struct

lv_svg_attr_t

struct

lv_svg_node_t

MemberTypeDescription
baselv_tree_node_t
xml_idchar *
typelv_svg_tag_t
attrslv_array_t
render_objstruct _lv_svg_render_obj *
Used by 5 functions
  • lv_svg_node_create — param parent
  • lv_svg_node_delete — param node
  • _lv_svg_dump_tree — param root
  • lv_svg_render_create — param svg_doc
  • lv_draw_svg — param svg_doc

Typedefs

lv_svg_tag_t

 
typedef int8_t lv_svg_tag_t

lv_svg_attr_type_t

 
typedef uint8_t lv_svg_attr_type_t

lv_svg_transform_type_t

 
typedef uint8_t lv_svg_transform_type_t

lv_svg_aspect_ratio_t

 
typedef uint32_t lv_svg_aspect_ratio_t

lv_svg_color_t

 
typedef uint32_t lv_svg_color_t

lv_svg_fill_rule_t

 
typedef uint8_t lv_svg_fill_rule_t

lv_svg_line_cap_t

 
typedef uint8_t lv_svg_line_cap_t

lv_svg_line_join_t

 
typedef uint8_t lv_svg_line_join_t

lv_svg_gradient_units_t

 
typedef uint8_t lv_svg_gradient_units_t

lv_svg_attr_value_type_t

 
typedef uint8_t lv_svg_attr_value_type_t

lv_svg_attr_value_class_t

 
typedef uint8_t lv_svg_attr_value_class_t

Macros

LV_SVG_NODE_CHILD

 
#define LV_SVG_NODE_CHILD(n, i) \
    ((lv_svg_node_t *)(LV_TREE_NODE((n))->children[i]))

LV_SVG_NODE

 
#define LV_SVG_NODE(n) \
    ((lv_svg_node_t*)(n))

Dependencies

How is this guide?

Last updated on

On this page