lv_svg_render.h

Defines

LV_SVG_RENDER_OBJ(n)

Typedefs

typedef struct _lv_svg_render_obj lv_svg_render_obj_t
typedef struct _lv_svg_render_hal lv_svg_render_hal_t

Functions

void lv_svg_render_init(const lv_svg_render_hal_t *hal)

Initialize the SVG render.

参数:

hal -- pointer to a structure with rendering functions

lv_svg_render_obj_t *lv_svg_render_create(const lv_svg_node_t *svg_doc)

Create a new SVG render from an SVG document.

参数:

svg_doc -- pointer to the SVG document

返回:

pointer to the new SVG render object

void lv_svg_render_delete(lv_svg_render_obj_t *render)

Delete an SVG render object.

参数:

render -- pointer to the SVG render object to delete

void lv_draw_svg_render(lv_vector_dsc_t *dsc, const lv_svg_render_obj_t *render)

Render an SVG object to a vector graphics.

参数:
  • dsc -- pointer to the vector graphics descriptor

  • render -- pointer to the SVG render object to render

void lv_draw_svg(lv_layer_t *layer, const lv_svg_node_t *svg_doc)

Draw an SVG document to a layer.

参数:
  • layer -- pointer to the target layer

  • svg_doc -- pointer to the SVG document to draw

struct _lv_svg_render_obj

Public Members

struct _lv_svg_render_obj *next
uint32_t flags
char *id
lv_vector_draw_dsc_t dsc
lv_matrix_t matrix
struct _lv_svg_render_obj *head
char *fill_ref
char *stroke_ref
void (*set_paint_ref)(struct _lv_svg_render_obj *obj, lv_vector_draw_dsc_t *dsc, const struct _lv_svg_render_obj *target_obj, bool fill)
void (*init)(struct _lv_svg_render_obj *obj, const lv_svg_node_t *node)
void (*render)(const struct _lv_svg_render_obj *obj, lv_vector_dsc_t *dsc, const lv_matrix_t *matrix)
void (*set_attr)(struct _lv_svg_render_obj *obj, lv_vector_draw_dsc_t *dsc, const lv_svg_attr_t *attr)
void (*get_bounds)(const struct _lv_svg_render_obj *obj, lv_area_t *area)
void (*destroy)(struct _lv_svg_render_obj *obj)
struct _lv_svg_render_hal

Public Members

void (*load_image)(const char *image_url, lv_draw_image_dsc_t *img_dsc)
const char *(*get_font_path)(const char *font_family)