Files
zhengxinandCursor 851e347cf5 初始提交卡包 USB 工程
纳入固件源码、屏幕组件、nand_xfer 工具和文档。忽略本机构建产物、sdkconfig,以及含本机路径的依赖锁。

Co-authored-by: Cursor <[email protected]>
2026-10-13 21:54:50 +08:00

264 lines
9.9 KiB
C

/*
* 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