/* * Copyright 2026 NXP * NXP Proprietary. This software is owned or controlled by NXP and may only be used strictly in * accordance with the applicable license terms. By expressly accepting such terms or by downloading, installing, * activating and/or otherwise using the software, you are agreeing that you have read, and that you agree to * comply with and are bound by, such license terms. If you do not agree to be bound by the applicable license * terms, then you may not retain, install, activate or otherwise use the software. */ #ifndef GUI_GUIDER_H #define GUI_GUIDER_H #ifdef __cplusplus extern "C" { #endif #include "lvgl.h" #include "font_runtime.h" typedef struct { lv_obj_t *screen_home_weather; bool screen_home_weather_del; lv_obj_t *screen_home_weather_label_temp; lv_obj_t *screen_home_weather_label_1hlate; lv_obj_t *screen_home_weather_label_2hlate; lv_obj_t *screen_home_weather_label_4hlate; lv_obj_t *screen_home_weather_img_line1; lv_obj_t *screen_home_weather_label_weather; lv_obj_t *screen_home_weather_label_6hlate; lv_obj_t *screen_home_weather_label_3hlate; lv_obj_t *screen_home_weather_label_5hlate; lv_obj_t *screen_home_weather_label_city1; lv_obj_t *screen_home_weather_img_1; lv_obj_t *screen_home_weather_img_2; lv_obj_t *screen_home_weather_img_3; lv_obj_t *screen_home_weather_img_4; lv_obj_t *screen_home_weather_label_6; lv_obj_t *screen_time; bool screen_time_del; lv_obj_t *screen_time_digital_clock_now; lv_obj_t *screen_time_label_date; lv_obj_t *screen_time_label_week; lv_obj_t *screen_time_label_city2; lv_obj_t *screen_time_img_line2; lv_obj_t *screen_pull_down; bool screen_pull_down_del; lv_obj_t *screen_pull_down_btn_set; lv_obj_t *screen_pull_down_btn_set_label; lv_obj_t *screen_pull_down_btn_sleep; lv_obj_t *screen_pull_down_btn_sleep_label; lv_obj_t *screen_pull_down_btn_restart; lv_obj_t *screen_pull_down_btn_restart_label; lv_obj_t *screen_pull_down_btn_turnoff; lv_obj_t *screen_pull_down_btn_turnoff_label; lv_obj_t *screen_pull_down_label_sleep; lv_obj_t *screen_pull_down_label_set; lv_obj_t *screen_pull_down_label_restart; lv_obj_t *screen_pull_down_label_turnoff; lv_obj_t *screen_pull_down_img_Sleep; lv_obj_t *screen_pull_down_img_set; lv_obj_t *screen_pull_down_img_restart; lv_obj_t *screen_pull_down_img_turnoff; lv_obj_t *screen_sleep; bool screen_sleep_del; lv_obj_t *screen_sleep_label_time; lv_obj_t *screen_sleep_label_1; lv_obj_t *screen_sleep_btn_10min; lv_obj_t *screen_sleep_btn_10min_label; lv_obj_t *screen_sleep_btn_5min; lv_obj_t *screen_sleep_btn_5min_label; lv_obj_t *screen_sleep_btn_never; lv_obj_t *screen_sleep_btn_never_label; lv_obj_t *screen_sleep_btn_30s; lv_obj_t *screen_sleep_btn_30s_label; lv_obj_t *screen_sleep_label_sleep; lv_obj_t *screen_sleep_img_sleep_back; lv_obj_t *screen_sleep_btn_now; lv_obj_t *screen_sleep_btn_now_label; lv_obj_t *screen_sleep_btn_set_back; lv_obj_t *screen_sleep_btn_set_back_label; lv_obj_t *screen_set; bool screen_set_del; lv_obj_t *screen_set_btn_guide; lv_obj_t *screen_set_btn_guide_label; lv_obj_t *screen_set_btn_information; lv_obj_t *screen_set_btn_information_label; lv_obj_t *screen_set_btn_set_recover; lv_obj_t *screen_set_btn_set_recover_label; lv_obj_t *screen_set_slider_light; lv_obj_t *screen_set_label_brightness; lv_obj_t *screen_set_label_1; lv_obj_t *screen_set_label_2; lv_obj_t *screen_set_label_3; lv_obj_t *screen_set_btn_set_back; lv_obj_t *screen_set_btn_set_back_label; lv_obj_t *screen_set_img_Bright; lv_obj_t *screen_set_img_Info; lv_obj_t *screen_set_img_user; lv_obj_t *screen_set_img_Reset; lv_obj_t *screen_component; bool screen_component_del; lv_obj_t *screen_component_btn_chouqian; lv_obj_t *screen_component_btn_chouqian_label; lv_obj_t *screen_component_btn_xingzuo; lv_obj_t *screen_component_btn_xingzuo_label; lv_obj_t *screen_component_btn_zhengnian; lv_obj_t *screen_component_btn_zhengnian_label; lv_obj_t *screen_component_btn_calendar; lv_obj_t *screen_component_btn_calendar_label; lv_obj_t *screen_component_label_component; lv_obj_t *screen_component_img_PC; lv_obj_t *screen_component_img_MG; lv_obj_t *screen_component_img_Zodiac; lv_obj_t *screen_component_img_Draw_Lots; lv_obj_t *screen_Perpetual_Calendar; bool screen_Perpetual_Calendar_del; lv_obj_t *screen_Perpetual_Calendar_btn_PC_back; lv_obj_t *screen_Perpetual_Calendar_btn_PC_back_label; lv_obj_t *screen_Perpetual_Calendar_label_day; lv_obj_t *screen_Perpetual_Calendar_label_Lunar_Calendar; lv_obj_t *screen_Perpetual_Calendar_label_week; lv_obj_t *screen_Perpetual_Calendar_label_Suitable; lv_obj_t *screen_Perpetual_Calendar_label_Dos; lv_obj_t *screen_Perpetual_Calendar_label_Avoid; lv_obj_t *screen_Perpetual_Calendar_label_Donts; lv_obj_t *screen_zodiacs; bool screen_zodiacs_del; lv_obj_t *screen_zodiacs_ddlist_zodiacs; lv_obj_t *screen_zodiacs_img_zodiacs_back; lv_obj_t *screen_mindfulness; bool screen_mindfulness_del; lv_obj_t *screen_mindfulness_arc_breath; lv_obj_t *screen_mindfulness_btn_pause; lv_obj_t *screen_mindfulness_btn_pause_label; lv_obj_t *screen_mindfulness_btn_start; lv_obj_t *screen_mindfulness_btn_start_label; lv_obj_t *screen_mindfulness_label_phase; lv_obj_t *screen_mindfulness_btn_reset; lv_obj_t *screen_mindfulness_btn_reset_label; lv_obj_t *screen_mindfulness_img_mindfulness_back; lv_obj_t *screen_sortition; bool screen_sortition_del; lv_obj_t *screen_sortition_label_message; lv_obj_t *screen_sortition_btn_draw; lv_obj_t *screen_sortition_btn_draw_label; lv_obj_t *screen_sortition_img_sortition_back; lv_obj_t *screen_sortition_ddlist_category; lv_obj_t *screen_sortition_btn_history; lv_obj_t *screen_sortition_btn_history_label; lv_obj_t *screen_sortition_history; bool screen_sortition_history_del; lv_obj_t *screen_sortition_history_list_history; lv_obj_t *screen_sortition_history_list_history_item0; lv_obj_t *screen_sortition_history_img_sortition_history_back; lv_obj_t *screen_fortune_text; bool screen_fortune_text_del; lv_obj_t *screen_fortune_text_img_zodiacs; lv_obj_t *screen_fortune_text_label_fotune; lv_obj_t *screen_fortune_text_btn_2; lv_obj_t *screen_fortune_text_btn_2_label; lv_obj_t *screen_sortition_text; bool screen_sortition_text_del; lv_obj_t *screen_sortition_text_img_sortition; lv_obj_t *screen_sortition_text_label_sortition1; lv_obj_t *screen_sortition_text_label_sortition2; lv_obj_t *screen_sortition_text_btn_st_back; lv_obj_t *screen_sortition_text_btn_st_back_label; lv_obj_t *g_kb_top_layer; }lv_ui; typedef void (*ui_setup_scr_t)(lv_ui * ui); void ui_init_style(lv_style_t * style); void ui_load_scr_animation(lv_ui *ui, lv_obj_t ** new_scr, bool new_scr_del, bool * old_scr_del, ui_setup_scr_t setup_scr, lv_screen_load_anim_t anim_type, uint32_t time, uint32_t delay, bool is_clean, bool auto_del); void ui_animation(void * var, uint32_t duration, int32_t delay, int32_t start_value, int32_t end_value, lv_anim_path_cb_t path_cb, uint32_t repeat_cnt, uint32_t repeat_delay, uint32_t playback_time, uint32_t playback_delay, lv_anim_exec_xcb_t exec_cb, lv_anim_start_cb_t start_cb, lv_anim_completed_cb_t ready_cb, lv_anim_deleted_cb_t deleted_cb); void init_scr_del_flag(lv_ui *ui); void setup_bottom_layer(void); void setup_ui(lv_ui *ui); void video_play(lv_ui *ui); void init_keyboard(lv_ui *ui); extern lv_ui guider_ui; void setup_scr_screen_home_weather(lv_ui *ui); void setup_scr_screen_time(lv_ui *ui); void setup_scr_screen_pull_down(lv_ui *ui); void setup_scr_screen_sleep(lv_ui *ui); void setup_scr_screen_set(lv_ui *ui); void setup_scr_screen_component(lv_ui *ui); void setup_scr_screen_Perpetual_Calendar(lv_ui *ui); void setup_scr_screen_fortune_text(lv_ui *ui); void setup_scr_screen_sortition_text(lv_ui *ui); LV_IMAGE_DECLARE(_image_zodiacs_RGB888_382x280); LV_IMAGE_DECLARE(_image_sortition_RGB888_400x290); LV_IMAGE_DECLARE(_Perpetual_Calendar_RGB888_25x25); LV_IMAGE_DECLARE(_Mindfulness_Guide_RGB888_25x25); LV_IMAGE_DECLARE(_Zodiac_RGB888_25x25); LV_IMAGE_DECLARE(_Draw_Lots_RGB888_25x25); LV_IMAGE_DECLARE(_Sleep_RGB888_25x25); LV_IMAGE_DECLARE(_Setting_RGB888_25x25); LV_IMAGE_DECLARE(_Restart_RGB888_25x25); LV_IMAGE_DECLARE(_Shut_Down_RGB888_25x25); LV_IMAGE_DECLARE(_Brightness_RGB888_25x25); LV_IMAGE_DECLARE(_Version_Info_RGB888_25x25); LV_IMAGE_DECLARE(_User_Guide_RGB888_25x25); LV_IMAGE_DECLARE(_Factory_Reset_RGB888_25x25); LV_IMAGE_DECLARE(_yun_RGB888_60x50); /* 天气图标声明 - 小图 (55x55) */ LV_IMAGE_DECLARE(_sun_RGB565_55x55); LV_IMAGE_DECLARE(_cloudy_RGB565_55x55); LV_IMAGE_DECLARE(_fog_RGB565_55x55); LV_IMAGE_DECLARE(_rainy_RGB565_55x55); LV_IMAGE_DECLARE(_thunder_RGB565_55x55); LV_IMAGE_DECLARE(_snow_RGB565_55x55); LV_IMAGE_DECLARE(_sleet_RGB565_55x55); LV_IMAGE_DECLARE(_hail_RGB565_55x55); /* 天气图标声明 - 大图 (130x130 RLE) */ LV_IMAGE_DECLARE(_sun_RGB565_130x130_RLE); LV_IMAGE_DECLARE(_cloudy_RGB565_130x130_RLE); LV_IMAGE_DECLARE(_fog_RGB565_130x130_RLE); LV_IMAGE_DECLARE(_rainy_RGB565_130x130_RLE); LV_IMAGE_DECLARE(_thunder_RGB565_130x130_RLE); LV_IMAGE_DECLARE(_snow_RGB565_130x130_RLE); LV_IMAGE_DECLARE(_sleet_RGB565_130x130_RLE); LV_IMAGE_DECLARE(_hail_RGB565_130x130_RLE); /* 内置 guider_fonts 已移除,改为运行时字体接口 */ /* LV_FONT_DECLARE(lv_font_MiSans_VF_25) */ /* LV_FONT_DECLARE(lv_font_MiSans_VF_30) */ /* LV_FONT_DECLARE(lv_font_MiSans_VF_40) */ /* LV_FONT_DECLARE(lv_font_MiSans_VF_60) */ /* LV_FONT_DECLARE(lv_font_MiSans_VF_100) */ /* LV_FONT_DECLARE(lv_font_iconfont_25) */ /* 兼容既有 generated 代码里的 &lv_font_xxx 用法 */ #define lv_font_MiSans_VF_25 (*ui_font_misans_25()) #define lv_font_MiSans_VF_30 (*ui_font_misans_30()) #define lv_font_MiSans_VF_40 (*ui_font_misans_40()) #define lv_font_MiSans_VF_60 (*ui_font_misans_60()) #define lv_font_MiSans_VF_100 (*ui_font_misans_100()) #define lv_font_MiSans_VF_180 (*ui_font_misans_180()) #define lv_font_iconfont_25 (*ui_font_icon_25()) #ifdef __cplusplus } #endif #endif