mirror of
https://github.com/lvgl/lvgl.git
synced 2025-02-04 07:13:00 +08:00
lv_objmask_remove_mask: remove all masks is mask==NULL
This commit is contained in:
parent
2be039e917
commit
a2cc8c9b4c
@ -127,7 +127,7 @@ lv_objmask_mask_t * lv_objmask_add_mask(lv_obj_t * objmask, void * param)
|
|||||||
* @param mask pointer to created mask (returned by `lv_objmask_add_mask`)
|
* @param mask pointer to created mask (returned by `lv_objmask_add_mask`)
|
||||||
* @param param an initialized mask parameter (initialized by `lv_draw_mask_line/angle/.../_init`)
|
* @param param an initialized mask parameter (initialized by `lv_draw_mask_line/angle/.../_init`)
|
||||||
*/
|
*/
|
||||||
void lv_objmask_upadte_mask(lv_obj_t * objmask, lv_objmask_mask_t * mask, void * param)
|
void lv_objmask_update_mask(lv_obj_t * objmask, lv_objmask_mask_t * mask, void * param)
|
||||||
{
|
{
|
||||||
LV_ASSERT_OBJ(objmask, LV_OBJX_NAME);
|
LV_ASSERT_OBJ(objmask, LV_OBJX_NAME);
|
||||||
LV_ASSERT_NULL(mask);
|
LV_ASSERT_NULL(mask);
|
||||||
@ -143,19 +143,34 @@ void lv_objmask_upadte_mask(lv_obj_t * objmask, lv_objmask_mask_t * mask, void *
|
|||||||
* Remove a mask
|
* Remove a mask
|
||||||
* @param objmask pointer to an Object mask object
|
* @param objmask pointer to an Object mask object
|
||||||
* @param mask pointer to created mask (returned by `lv_objmask_add_mask`)
|
* @param mask pointer to created mask (returned by `lv_objmask_add_mask`)
|
||||||
|
* If `NULL` passed all masks will be deleted.
|
||||||
*/
|
*/
|
||||||
void lv_objmask_remove_mask(lv_obj_t * objmask, lv_objmask_mask_t * mask)
|
void lv_objmask_remove_mask(lv_obj_t * objmask, lv_objmask_mask_t * mask)
|
||||||
{
|
{
|
||||||
LV_ASSERT_OBJ(objmask, LV_OBJX_NAME);
|
LV_ASSERT_OBJ(objmask, LV_OBJX_NAME);
|
||||||
LV_ASSERT_NULL(mask);
|
|
||||||
|
|
||||||
lv_objmask_ext_t * ext = lv_obj_get_ext_attr(objmask);
|
lv_objmask_ext_t * ext = lv_obj_get_ext_attr(objmask);
|
||||||
|
|
||||||
|
/*Remove all masks*/
|
||||||
|
if(mask == NULL) {
|
||||||
|
lv_objmask_mask_t * m;
|
||||||
|
LV_LL_READ(ext->mask_ll, m) {
|
||||||
|
lv_mem_free(m->param);
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_ll_clear(&ext->mask_ll);
|
||||||
|
}
|
||||||
|
/*Remove only the specified mask*/
|
||||||
|
else {
|
||||||
lv_mem_free(mask->param);
|
lv_mem_free(mask->param);
|
||||||
lv_ll_rem(&ext->mask_ll, mask);
|
lv_ll_remove(&ext->mask_ll, mask);
|
||||||
|
}
|
||||||
|
|
||||||
lv_obj_invalidate(objmask);
|
lv_obj_invalidate(objmask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*=====================
|
/*=====================
|
||||||
* Setter functions
|
* Setter functions
|
||||||
*====================*/
|
*====================*/
|
||||||
|
@ -81,12 +81,13 @@ lv_objmask_mask_t * lv_objmask_add_mask(lv_obj_t * objmask, void * param);
|
|||||||
* @param mask pointer to created mask (returned by `lv_objmask_add_mask`)
|
* @param mask pointer to created mask (returned by `lv_objmask_add_mask`)
|
||||||
* @param param an initialized mask parameter (initialized by `lv_draw_mask_line/angle/.../_init`)
|
* @param param an initialized mask parameter (initialized by `lv_draw_mask_line/angle/.../_init`)
|
||||||
*/
|
*/
|
||||||
void lv_objmask_upadte_mask(lv_obj_t * objmask, lv_objmask_mask_t * mask, void * param);
|
void lv_objmask_update_mask(lv_obj_t * objmask, lv_objmask_mask_t * mask, void * param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove a mask
|
* Remove a mask
|
||||||
* @param objmask pointer to an Object mask object
|
* @param objmask pointer to an Object mask object
|
||||||
* @param mask pointer to created mask (returned by `lv_objmask_add_mask`)
|
* @param mask pointer to created mask (returned by `lv_objmask_add_mask`)
|
||||||
|
* If `NULL` passed all masks will be deleted.
|
||||||
*/
|
*/
|
||||||
void lv_objmask_remove_mask(lv_obj_t * objmask, lv_objmask_mask_t * mask);
|
void lv_objmask_remove_mask(lv_obj_t * objmask, lv_objmask_mask_t * mask);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user