lv_vg_lite_path.h¶
Defines
-
PATH_COORD_MAX¶
It is found that thorvg cannot handle large coordinates well. When the coordinates are larger than 4096, the calculation of tvgSwRle module will overflow in 32-bit system. So we use FLT_MAX and FLT_MIN to write the mark to bounding_box to tell vg_lite_tvg not to add clip path to the current path.
-
PATH_COORD_MIN¶
-
LV_VG_LITE_PATH_SET_OP_CODE(PTR, TYPE, OP_CODE)¶
-
LV_VG_LITE_PATH_GET_OP_CODE(PTR)¶
Typedefs
-
typedef struct _lv_vg_lite_path_t lv_vg_lite_path_t¶
-
typedef struct _lv_draw_vg_lite_unit_t lv_draw_vg_lite_unit_t¶
-
typedef void (*lv_vg_lite_path_iter_cb_t)(void *user_data, uint8_t op_code, const float *data, uint32_t len)¶
Functions
-
void lv_vg_lite_path_init(lv_draw_vg_lite_unit_t *unit)¶
-
void lv_vg_lite_path_deinit(lv_draw_vg_lite_unit_t *unit)¶
-
lv_vg_lite_path_t *lv_vg_lite_path_create(vg_lite_format_t data_format)¶
-
void lv_vg_lite_path_destroy(lv_vg_lite_path_t *path)¶
-
lv_vg_lite_path_t *lv_vg_lite_path_get(lv_draw_vg_lite_unit_t *unit, vg_lite_format_t data_format)¶
-
void lv_vg_lite_path_drop(lv_draw_vg_lite_unit_t *unit, lv_vg_lite_path_t *path)¶
-
void lv_vg_lite_path_reset(lv_vg_lite_path_t *path, vg_lite_format_t data_format)¶
-
void lv_vg_lite_path_set_bounding_box_area(lv_vg_lite_path_t *path, const lv_area_t *area)¶
-
void lv_vg_lite_path_set_bounding_box(lv_vg_lite_path_t *path, float min_x, float min_y, float max_x, float max_y)¶
-
void lv_vg_lite_path_get_bounding_box(lv_vg_lite_path_t *path, float *min_x, float *min_y, float *max_x, float *max_y)¶
-
bool lv_vg_lite_path_update_bounding_box(lv_vg_lite_path_t *path)¶
-
void lv_vg_lite_path_set_transform(lv_vg_lite_path_t *path, const vg_lite_matrix_t *matrix)¶
-
void lv_vg_lite_path_set_quality(lv_vg_lite_path_t *path, vg_lite_quality_t quality)¶
-
vg_lite_path_t *lv_vg_lite_path_get_path(lv_vg_lite_path_t *path)¶
-
void lv_vg_lite_path_reserve_space(lv_vg_lite_path_t *path, size_t len)¶
-
void lv_vg_lite_path_move_to(lv_vg_lite_path_t *path, float x, float y)¶
-
void lv_vg_lite_path_line_to(lv_vg_lite_path_t *path, float x, float y)¶
-
void lv_vg_lite_path_quad_to(lv_vg_lite_path_t *path, float cx, float cy, float x, float y)¶
-
void lv_vg_lite_path_cubic_to(lv_vg_lite_path_t *path, float cx1, float cy1, float cx2, float cy2, float x, float y)¶
-
void lv_vg_lite_path_close(lv_vg_lite_path_t *path)¶
-
void lv_vg_lite_path_end(lv_vg_lite_path_t *path)¶
-
void lv_vg_lite_path_append_rect(lv_vg_lite_path_t *path, float x, float y, float w, float h, float r)¶
-
void lv_vg_lite_path_append_circle(lv_vg_lite_path_t *path, float cx, float cy, float rx, float ry)¶
-
void lv_vg_lite_path_append_arc_right_angle(lv_vg_lite_path_t *path, float start_x, float start_y, float center_x, float center_y, float end_x, float end_y)¶
-
void lv_vg_lite_path_append_arc(lv_vg_lite_path_t *path, float cx, float cy, float radius, float start_angle, float sweep, bool pie)¶
-
void lv_vg_lite_path_append_path(lv_vg_lite_path_t *dest, const lv_vg_lite_path_t *src)¶
-
uint8_t lv_vg_lite_vlc_op_arg_len(uint8_t vlc_op)¶
-
uint8_t lv_vg_lite_path_format_len(vg_lite_format_t format)¶
-
void lv_vg_lite_path_for_each_data(const vg_lite_path_t *path, lv_vg_lite_path_iter_cb_t cb, void *user_data)¶