lv_vg_lite_utils.h
API reference for lv_vg_lite_utils.h
void lv_vg_lite_set_scissor_area(struct _lv_draw_vg_lite_unit_t *u, const lv_area_t *area)
Parametersvoid lv_vg_lite_set_dump_param_enable(bool enable)
Parametersvoid lv_vg_lite_set_color_key(const lv_image_colorkey_t *colorkey)
Parametersuint32_t lv_vg_lite_get_palette_size(vg_lite_buffer_format_t format)
Parameters| Name | Type |
|---|
format | vg_lite_buffer_format_t |
static vg_lite_filter_t lv_vg_lite_matrix_get_filter(const vg_lite_matrix_t *matrix)
Parameters| Name | Type |
|---|
matrix | const vg_lite_matrix_t * |
void lv_vg_lite_dump_info(void)
void lv_vg_lite_error_dump_info(vg_lite_error_t error)
Parameters| Name | Type |
|---|
error | vg_lite_error_t |
const char * lv_vg_lite_error_string(vg_lite_error_t error)
Parameters| Name | Type |
|---|
error | vg_lite_error_t |
const char * lv_vg_lite_feature_string(vg_lite_feature_t feature)
Parameters| Name | Type |
|---|
feature | vg_lite_feature_t |
const char * lv_vg_lite_vlc_op_string(uint8_t vlc_op)
Parametersvoid lv_vg_lite_path_dump_info(const vg_lite_path_t *path)
Parameters| Name | Type |
|---|
path | const vg_lite_path_t * |
void lv_vg_lite_stroke_dump_info(const vg_lite_stroke_t *stroke)
Parameters| Name | Type |
|---|
stroke | const vg_lite_stroke_t * |
void lv_vg_lite_buffer_dump_info(const vg_lite_buffer_t *buffer)
Parameters| Name | Type |
|---|
buffer | const vg_lite_buffer_t * |
void lv_vg_lite_matrix_dump_info(const vg_lite_matrix_t *matrix)
Parameters| Name | Type |
|---|
matrix | const vg_lite_matrix_t * |
void lv_vg_lite_color_dump_info(const vg_lite_color_t color)
Parameters| Name | Type |
|---|
color | const vg_lite_color_t |
bool lv_vg_lite_is_dest_cf_supported(lv_color_format_t cf)
Parametersbool lv_vg_lite_is_src_cf_supported(lv_color_format_t cf)
Parametersvg_lite_buffer_format_t lv_vg_lite_vg_fmt(lv_color_format_t cf)
Parametersuint32_t lv_vg_lite_width_to_stride(uint32_t w, vg_lite_buffer_format_t color_format)
Parameters| Name | Type |
|---|
w | uint32_t |
color_format | vg_lite_buffer_format_t |
void lv_vg_lite_buffer_init(vg_lite_buffer_t *buffer, const void *ptr, int32_t width, int32_t height, uint32_t stride, vg_lite_buffer_format_t format, bool tiled)
Parameters| Name | Type |
|---|
buffer | vg_lite_buffer_t * |
ptr | const void * |
width | int32_t |
height | int32_t |
stride | uint32_t |
format | vg_lite_buffer_format_t |
tiled | bool |
void lv_vg_lite_buffer_from_draw_buf(vg_lite_buffer_t *buffer, const lv_draw_buf_t *draw_buf)
Parametersvoid lv_vg_lite_image_matrix(vg_lite_matrix_t *matrix, int32_t x, int32_t y, const lv_draw_image_dsc_t *dsc)
Parametersvg_lite_color_t lv_vg_lite_image_recolor(vg_lite_buffer_t *buffer, const lv_draw_image_dsc_t *dsc)
Parametersbool lv_vg_lite_buffer_open_image(vg_lite_buffer_t *buffer, lv_image_decoder_dsc_t *decoder_dsc, const void *src, bool no_cache, bool premultiply)
Parametersvoid lv_vg_lite_image_dsc_init(struct _lv_draw_vg_lite_unit_t *unit)
Parametersvoid lv_vg_lite_image_dsc_deinit(struct _lv_draw_vg_lite_unit_t *unit)
Parametersvg_lite_blend_t lv_vg_lite_blend_mode(lv_blend_mode_t blend_mode, bool has_pre_mul)
Parametersvg_lite_color_t lv_vg_lite_color(lv_color_t color, lv_opa_t opa, bool pre_mul)
Parametersvoid lv_vg_lite_rect(vg_lite_rectangle_t *rect, const lv_area_t *area)
Parametersstatic void lv_vg_lite_matrix(vg_lite_matrix_t *dest, const lv_matrix_t *src)
Parametersbool lv_vg_lite_buffer_check(const vg_lite_buffer_t *buffer, bool is_src)
Parameters| Name | Type |
|---|
buffer | const vg_lite_buffer_t * |
is_src | bool |
bool lv_vg_lite_path_check(const vg_lite_path_t *path)
Parameters| Name | Type |
|---|
path | const vg_lite_path_t * |
bool lv_vg_lite_matrix_check(const vg_lite_matrix_t *matrix)
Parameters| Name | Type |
|---|
matrix | const vg_lite_matrix_t * |
bool lv_vg_lite_support_blend_normal(void)
void lv_vg_lite_matrix_multiply(vg_lite_matrix_t *matrix, const vg_lite_matrix_t *mult)
Parameters| Name | Type |
|---|
matrix | vg_lite_matrix_t * |
mult | const vg_lite_matrix_t * |
bool lv_vg_lite_matrix_inverse(vg_lite_matrix_t *result, const vg_lite_matrix_t *matrix)
Parameters| Name | Type |
|---|
result | vg_lite_matrix_t * |
matrix | const vg_lite_matrix_t * |
Check if the matrix has a perspective (non-affine) part.
static bool lv_vg_lite_matrix_has_perspective(const vg_lite_matrix_t *matrix)
Parameters| Name | Type | Description |
|---|
matrix | const vg_lite_matrix_t * | pointer to the matrix |
Returns: bool — true: the matrix is not affine, the transformed points need perspective division
void lv_vg_lite_disable_scissor(void)
void lv_vg_lite_flush(struct _lv_draw_vg_lite_unit_t *u)
Parametersvoid lv_vg_lite_finish(struct _lv_draw_vg_lite_unit_t *u)
Parametersbool lv_vg_lite_is_dump_param_enabled(void)
static void lv_vg_lite_draw(vg_lite_buffer_t *target, vg_lite_path_t *path, vg_lite_fill_t fill_rule, vg_lite_matrix_t *matrix, vg_lite_blend_t blend, vg_lite_color_t color)
Parameters| Name | Type |
|---|
target | vg_lite_buffer_t * |
path | vg_lite_path_t * |
fill_rule | vg_lite_fill_t |
matrix | vg_lite_matrix_t * |
blend | vg_lite_blend_t |
color | vg_lite_color_t |
static void lv_vg_lite_draw_pattern(vg_lite_buffer_t *target, vg_lite_path_t *path, vg_lite_fill_t fill_rule, vg_lite_matrix_t *path_matrix, vg_lite_buffer_t *pattern_image, vg_lite_matrix_t *pattern_matrix, vg_lite_blend_t blend, vg_lite_pattern_mode_t pattern_mode, vg_lite_color_t pattern_color, vg_lite_color_t color, vg_lite_filter_t filter)
Parameters| Name | Type |
|---|
target | vg_lite_buffer_t * |
path | vg_lite_path_t * |
fill_rule | vg_lite_fill_t |
path_matrix | vg_lite_matrix_t * |
pattern_image | vg_lite_buffer_t * |
pattern_matrix | vg_lite_matrix_t * |
blend | vg_lite_blend_t |
pattern_mode | vg_lite_pattern_mode_t |
pattern_color | vg_lite_color_t |
color | vg_lite_color_t |
filter | vg_lite_filter_t |
static void lv_vg_lite_blit_rect(vg_lite_buffer_t *target, vg_lite_buffer_t *source, vg_lite_rectangle_t *rect, vg_lite_matrix_t *matrix, vg_lite_blend_t blend, vg_lite_color_t color, vg_lite_filter_t filter)
Parameters| Name | Type |
|---|
target | vg_lite_buffer_t * |
source | vg_lite_buffer_t * |
rect | vg_lite_rectangle_t * |
matrix | vg_lite_matrix_t * |
blend | vg_lite_blend_t |
color | vg_lite_color_t |
filter | vg_lite_filter_t |
static void lv_vg_lite_blit(vg_lite_buffer_t *target, vg_lite_buffer_t *source, vg_lite_matrix_t *matrix, vg_lite_blend_t blend, vg_lite_color_t color, vg_lite_filter_t filter)
Parameters| Name | Type |
|---|
target | vg_lite_buffer_t * |
source | vg_lite_buffer_t * |
matrix | vg_lite_matrix_t * |
blend | vg_lite_blend_t |
color | vg_lite_color_t |
filter | vg_lite_filter_t |
static void lv_vg_lite_clear(vg_lite_buffer_t *target, const lv_area_t *area, vg_lite_color_t color)
Parameters
#define LV_VG_LITE_ASSERT(expr)
#define LV_VG_LITE_CHECK_ERROR(expr, dump_param) \
do { \
if(lv_vg_lite_is_dump_param_enabled()) { \
LV_LOG_USER("Call '" #expr "', Parameter:"); \
dump_param; \
} \
vg_lite_error_t error = expr; \
if (error != VG_LITE_SUCCESS) { \
LV_LOG_ERROR("Execute '" #expr "' error: %d", (int)error); \
lv_vg_lite_error_dump_info(error); \
dump_param; \
LV_VG_LITE_ASSERT(false); \
} \
} while (0)
#define LV_VG_LITE_ASSERT_PATH(path) \
LV_VG_LITE_ASSERT(lv_vg_lite_path_check(path))
#define LV_VG_LITE_ASSERT_SRC_BUFFER(buffer) \
LV_VG_LITE_ASSERT(lv_vg_lite_buffer_check(buffer, true))
#define LV_VG_LITE_ASSERT_DEST_BUFFER(buffer) \
LV_VG_LITE_ASSERT(lv_vg_lite_buffer_check(buffer, false))
#define LV_VG_LITE_ASSERT_MATRIX(matrix) \
LV_VG_LITE_ASSERT(lv_vg_lite_matrix_check(matrix))
#define LV_VG_LITE_ALIGN(number, align_bytes) \
(((number) + ((align_bytes)-1)) & ~((align_bytes)-1))
#define LV_VG_LITE_IS_ALIGNED(num, align) \
(((uintptr_t)(num) & ((align)-1)) == 0)
#define LV_VG_LITE_IS_INDEX_FMT(fmt) \
((fmt) == VG_LITE_INDEX_1 \
|| (fmt) == VG_LITE_INDEX_2 \
|| (fmt) == VG_LITE_INDEX_4 \
|| (fmt) == VG_LITE_INDEX_8)
Last updated on