纳入固件源码、屏幕组件、nand_xfer 工具和文档。忽略本机构建产物、sdkconfig,以及含本机路径的依赖锁。 Co-authored-by: Cursor <[email protected]>
264 lines
9.9 KiB
C
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
|