lv_mbox: use a unique anim end cb to avoid casting
This commit is contained in:
@@ -38,6 +38,7 @@
|
|||||||
static lv_res_t lv_mbox_signal(lv_obj_t * mbox, lv_signal_t sign, void * param);
|
static lv_res_t lv_mbox_signal(lv_obj_t * mbox, lv_signal_t sign, void * param);
|
||||||
static void mbox_realign(lv_obj_t * mbox);
|
static void mbox_realign(lv_obj_t * mbox);
|
||||||
static lv_res_t lv_mbox_close_action(lv_obj_t * btn, const char * txt);
|
static lv_res_t lv_mbox_close_action(lv_obj_t * btn, const char * txt);
|
||||||
|
static void lv_mbox_close_end_cb(lv_obj_t * mbox);
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* STATIC VARIABLES
|
* STATIC VARIABLES
|
||||||
@@ -216,12 +217,12 @@ void lv_mbox_start_auto_close(lv_obj_t * mbox, uint16_t delay)
|
|||||||
if(ext->anim_time != 0) {
|
if(ext->anim_time != 0) {
|
||||||
/*Add shrinking animations*/
|
/*Add shrinking animations*/
|
||||||
lv_obj_animate(mbox, LV_ANIM_GROW_H | LV_ANIM_OUT, ext->anim_time, delay, NULL);
|
lv_obj_animate(mbox, LV_ANIM_GROW_H | LV_ANIM_OUT, ext->anim_time, delay, NULL);
|
||||||
lv_obj_animate(mbox, LV_ANIM_GROW_V | LV_ANIM_OUT, ext->anim_time, delay, (void (*)(lv_obj_t *))lv_obj_del);
|
lv_obj_animate(mbox, LV_ANIM_GROW_V | LV_ANIM_OUT, ext->anim_time, delay, lv_mbox_close_end_cb);
|
||||||
|
|
||||||
/*Disable fit to let shrinking work*/
|
/*Disable fit to let shrinking work*/
|
||||||
lv_cont_set_fit(mbox, false, false);
|
lv_cont_set_fit(mbox, false, false);
|
||||||
} else {
|
} else {
|
||||||
lv_obj_animate(mbox, LV_ANIM_NONE, ext->anim_time, delay, (void (*)(lv_obj_t *))lv_obj_del);
|
lv_obj_animate(mbox, LV_ANIM_NONE, ext->anim_time, delay, lv_mbox_close_end_cb);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
(void)delay; /*Unused*/
|
(void)delay; /*Unused*/
|
||||||
@@ -496,4 +497,8 @@ static lv_res_t lv_mbox_close_action(lv_obj_t * btn, const char * txt)
|
|||||||
return LV_RES_OK;
|
return LV_RES_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void lv_mbox_close_end_cb(lv_obj_t * mbox)
|
||||||
|
{
|
||||||
|
lv_obj_del(mbox);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user