Close screen backup.

This commit is contained in:
xiaojiazhu 2023-11-16 16:02:42 +08:00
parent dafa9cddb4
commit 573564a02b

View File

@ -1,9 +1,55 @@
#include "UIFlowLVGL/UIFlowLVGL.h" #include "UIFlowLVGL/UIFlowLVGL.h"
static lv_task_t* update_timer = NULL;
static lv_group_t* gp = NULL;
static void set_indev_keypad_group(lv_obj_t* obj)
{
if(gp == NULL){
gp = lv_group_create();
lv_group_add_obj(gp, obj);
}
lv_indev_t* indev = lv_plugin_find_indev_by_type(LV_INDEV_TYPE_KEYPAD);
lv_indev_set_group(indev, gp);
}
static void task_update_timer_cb(lv_task_t* task)
{
static short closing_index = 0;
lv_plugin_res_id res[] = {
LV_PLUGIN_IMG_ID_SF_BUSY_1,
LV_PLUGIN_IMG_ID_SF_BUSY_2,
LV_PLUGIN_IMG_ID_SF_BUSY_3,
LV_PLUGIN_IMG_ID_SF_BUSY_4,
LV_PLUGIN_IMG_ID_SF_BUSY_5,
LV_PLUGIN_IMG_ID_SF_BUSY_6
};
closing_index ++;
closing_index = closing_index % 5;
lv_plugin_img_set_src(image_closing_scr_uiflowclose, res[closing_index]);
}
void OpenClosingScreen(void) void OpenClosingScreen(void)
{ {
lv_plugin_scr_open(UIFlowClose, NULL); lv_plugin_scr_open(UIFlowClose, NULL);
} }
static void UIFlowClose_Open(lv_obj_t* obj)
{
set_indev_keypad_group(obj);
if(update_timer == NULL){
update_timer = lv_task_create(task_update_timer_cb, 200, LV_TASK_PRIO_MID, NULL);
}
}
static void UIFlowPhoto_ScrClose(lv_obj_t* obj)
{
if(update_timer){
lv_task_del(update_timer);
update_timer = NULL;
// update_selftimer();
}
}
void UIFlowCloseEventCallback(lv_obj_t* obj, lv_event_t event) void UIFlowCloseEventCallback(lv_obj_t* obj, lv_event_t event)
{ {
@ -11,9 +57,11 @@ void UIFlowCloseEventCallback(lv_obj_t* obj, lv_event_t event)
{ {
case LV_PLUGIN_EVENT_SCR_OPEN: case LV_PLUGIN_EVENT_SCR_OPEN:
UIFlowClose_Open(obj);
break; break;
case LV_PLUGIN_EVENT_SCR_CLOSE: case LV_PLUGIN_EVENT_SCR_CLOSE:
UIFlowPhoto_ScrClose(obj);
break; break;
case LV_PLUGIN_EVENT_CHILD_SCR_CLOSE: case LV_PLUGIN_EVENT_CHILD_SCR_CLOSE: