From 573564a02b5d29c1269e8d8b79f2d6f99592e57d Mon Sep 17 00:00:00 2001 From: xiaojiazhu Date: Thu, 16 Nov 2023 16:02:42 +0800 Subject: [PATCH] Close screen backup. --- .../UIFlowClose/UIFlowCloseEventCallback.c | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.c index cdde5fca5..5209e390f 100644 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowClose/UIFlowCloseEventCallback.c @@ -1,9 +1,55 @@ #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) { 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) { @@ -11,9 +57,11 @@ void UIFlowCloseEventCallback(lv_obj_t* obj, lv_event_t event) { case LV_PLUGIN_EVENT_SCR_OPEN: + UIFlowClose_Open(obj); break; case LV_PLUGIN_EVENT_SCR_CLOSE: + UIFlowPhoto_ScrClose(obj); break; case LV_PLUGIN_EVENT_CHILD_SCR_CLOSE: