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.
- Parameters:
dsc – pointer to a draw descriptor
-
void lv_draw_fill_dsc_init(lv_draw_fill_dsc_t *dsc)¶
Initialize a fill draw descriptor.
- Parameters:
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.
- Parameters:
task – draw task
- Returns:
the task's draw descriptor or NULL if the task is not of type LV_DRAW_TASK_TYPE_FILL
-
void lv_draw_fill(lv_layer_t *layer, const lv_draw_fill_dsc_t *dsc, const lv_area_t *coords)¶
Fill an area
- Parameters:
layer – pointer to a layer
dsc – pointer to an initialized draw descriptor variable
coords – the coordinates of the rectangle
-
void lv_draw_border_dsc_init(lv_draw_border_dsc_t *dsc)¶
Initialize a border draw descriptor.
- Parameters:
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.
- Parameters:
task – draw task
- Returns:
the task's draw descriptor or NULL if the task is not of type LV_DRAW_TASK_TYPE_BORDER
-
void lv_draw_border(lv_layer_t *layer, const lv_draw_border_dsc_t *dsc, const lv_area_t *coords)¶
Draw a border
- Parameters:
layer – pointer to a layer
dsc – pointer to an initialized draw descriptor variable
coords – the coordinates of the rectangle
-
void lv_draw_box_shadow_dsc_init(lv_draw_box_shadow_dsc_t *dsc)¶
Initialize a box shadow draw descriptor.
- Parameters:
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.
- Parameters:
task – draw task
- Returns:
the task's draw descriptor or NULL if the task is not of type LV_DRAW_TASK_TYPE_BOX_SHADOW
-
void lv_draw_box_shadow(lv_layer_t *layer, const lv_draw_box_shadow_dsc_t *dsc, const lv_area_t *coords)¶
Draw a box shadow
- Parameters:
layer – pointer to a layer
dsc – pointer to an initialized draw descriptor variable
coords – the coordinates of the rectangle
-
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.
- Parameters:
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¶
-
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_opa_t bg_opa¶
-
lv_opa_t border_opa¶
-
lv_opa_t outline_opa¶
-
lv_opa_t shadow_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¶
-
lv_color_t border_color¶
-
int32_t border_width¶
-
lv_border_side_t border_side¶
-
uint8_t border_post¶
-
lv_color_t outline_color¶
-
int32_t outline_width¶
-
int32_t outline_pad¶
-
lv_color_t shadow_color¶
-
int32_t shadow_width¶
-
int32_t shadow_offset_x¶
-
int32_t shadow_offset_y¶
-
int32_t shadow_spread¶
-
lv_draw_dsc_base_t base¶
-
struct lv_draw_fill_dsc_t¶
Public Members
-
lv_draw_dsc_base_t base¶
-
int32_t radius¶
Radius, LV_RADIUS_CIRCLE for max. radius
-
lv_opa_t opa¶
Opacity in 0...255 range. LV_OPA_TRANSP, LV_OPA_10, LV_OPA_20, .. LV_OPA_COVER can be used as well
-
lv_color_t color¶
The color of the rectangle. If the gradient is set (grad.dir!=LV_GRAD_DIR_NONE) it's ignored.
-
lv_grad_dsc_t grad¶
Describe a gradient. If
grad.dir
is notLV_GRAD_DIR_NONE
color
will be ignored
-
lv_draw_dsc_base_t base¶
-
struct lv_draw_border_dsc_t¶
Public Members
-
lv_draw_dsc_base_t base¶
-
int32_t radius¶
Radius, LV_RADIUS_CIRCLE for max. radius
-
lv_color_t color¶
The color of the border.
-
int32_t width¶
The width of the border in pixels
-
lv_opa_t opa¶
Opacity in 0...255 range. LV_OPA_TRANSP, LV_OPA_10, LV_OPA_20, .. LV_OPA_COVER can be used as well
-
lv_border_side_t side¶
LV_BORDER_SIDE_NONE/LEFT/RIGHT/TOP/BOTTOM/FULL. LV_BORDER_SIDE_INTERNAL is an information for upper layers and shouldn't be used here.
-
lv_draw_dsc_base_t base¶
-
struct lv_draw_box_shadow_dsc_t¶
Public Members
-
lv_draw_dsc_base_t base¶
-
int32_t radius¶
Radius, LV_RADIUS_CIRCLE for max. radius
-
lv_color_t color¶
Color of the the shadow
-
int32_t width¶
Width of the shadow. (radius of the blur)
-
int32_t spread¶
Make the rectangle larger with this value in all directions. Can be negative too.
-
int32_t ofs_x¶
Offset the rectangle horizontally.
-
int32_t ofs_y¶
Offset the rectangle vertically.
-
lv_opa_t opa¶
Opacity in 0...255 range. LV_OPA_TRANSP, LV_OPA_10, LV_OPA_20, .. LV_OPA_COVER can be used as well
-
uint8_t bg_cover¶
Set
bg_cover
to 1 if the background will cover the shadow. It's a hint to the renderer about it might skip some masking.
-
lv_draw_dsc_base_t base¶