lv_draw_rect.h

Defines

LV_RADIUS_CIRCLE

A very big radius to always draw as circle

Functions

void lv_draw_rect_dsc_init(lv_draw_rect_dsc_t *dsc)

Initialize a rectangle draw descriptor.

参数:

dsc -- pointer to a draw descriptor

void lv_draw_fill_dsc_init(lv_draw_fill_dsc_t *dsc)

Initialize a fill draw descriptor.

参数:

dsc -- pointer to a draw descriptor

lv_draw_fill_dsc_t *lv_draw_task_get_fill_dsc(lv_draw_task_t *task)

Try to get a fill draw descriptor from a draw task.

参数:

task -- draw task

返回:

the task's draw descriptor or NULL if the task is not of type LV_DRAW_TASK_TYPE_FILL

void lv_draw_border_dsc_init(lv_draw_border_dsc_t *dsc)

Initialize a border draw descriptor.

参数:

dsc -- pointer to a draw descriptor

lv_draw_border_dsc_t *lv_draw_task_get_border_dsc(lv_draw_task_t *task)

Try to get a border draw descriptor from a draw task.

参数:

task -- draw task

返回:

the task's draw descriptor or NULL if the task is not of type LV_DRAW_TASK_TYPE_BORDER

void lv_draw_box_shadow_dsc_init(lv_draw_box_shadow_dsc_t *dsc)

Initialize a box shadow draw descriptor.

参数:

dsc -- pointer to a draw descriptor

lv_draw_box_shadow_dsc_t *lv_draw_task_get_box_shadow_dsc(lv_draw_task_t *task)

Try to get a box shadow draw descriptor from a draw task.

参数:

task -- draw task

返回:

the task's draw descriptor or NULL if the task is not of type LV_DRAW_TASK_TYPE_BOX_SHADOW

void lv_draw_rect(lv_layer_t *layer, const lv_draw_rect_dsc_t *dsc, const lv_area_t *coords)

The rectangle is a wrapper for fill, border, bg. image and box shadow. Internally fill, border, image and box shadow draw tasks will be created.

参数:
  • layer -- pointer to a layer

  • dsc -- pointer to an initialized draw descriptor variable

  • coords -- the coordinates of the rectangle

struct lv_draw_rect_dsc_t

Public Members

lv_draw_dsc_base_t base
int32_t radius
lv_opa_t bg_opa
lv_color_t bg_color

First element of a gradient is a color, so it maps well here

lv_grad_dsc_t bg_grad
const void *bg_image_src
const void *bg_image_symbol_font
lv_color_t bg_image_recolor
lv_opa_t bg_image_opa
lv_opa_t bg_image_recolor_opa
uint8_t bg_image_tiled
lv_color_t border_color
int32_t border_width
lv_opa_t border_opa
lv_border_side_t border_side
uint8_t border_post
lv_color_t outline_color
int32_t outline_width
int32_t outline_pad
lv_opa_t outline_opa
lv_color_t shadow_color
int32_t shadow_width
int32_t shadow_offset_x
int32_t shadow_offset_y
int32_t shadow_spread
lv_opa_t shadow_opa
struct lv_draw_fill_dsc_t

Public Members

lv_draw_dsc_base_t base
int32_t radius
lv_opa_t opa
lv_color_t color
lv_grad_dsc_t grad
struct lv_draw_border_dsc_t

Public Members

lv_draw_dsc_base_t base
int32_t radius
lv_color_t color
int32_t width
lv_opa_t opa
lv_border_side_t side
struct lv_draw_box_shadow_dsc_t

Public Members

lv_draw_dsc_base_t base
int32_t radius
lv_color_t color
int32_t width
int32_t spread
int32_t ofs_x
int32_t ofs_y
lv_opa_t opa
uint8_t bg_cover