纳入固件源码、屏幕组件、nand_xfer 工具和文档。忽略本机构建产物、sdkconfig,以及含本机路径的依赖锁。 Co-authored-by: Cursor <[email protected]>
52 lines
1.3 KiB
C
52 lines
1.3 KiB
C
#ifndef UI_H
|
|
#define UI_H
|
|
|
|
#include "lvgl.h"
|
|
#include "esp_log.h"
|
|
#include "gui_guider.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define UI_PAGE_COUNT 3 // 0:小奇, 1:天气, 2:时间, 3:G值, 4:里程
|
|
#define UI_IDX_PULLDOWN 3 // 下拉设置页
|
|
#define UI_IDX_COMPONENTS 4 // 小组件页
|
|
|
|
// --- 变量的“外部引用”声明 ---
|
|
// 告诉编译器:这些变量在别处定义了,你尽管用
|
|
extern lv_obj_t * current_lottie;
|
|
|
|
extern lv_obj_t * page_weather;
|
|
extern lv_obj_t * page_time;
|
|
extern lv_obj_t * page_gforce;
|
|
extern lv_obj_t * page_trip;
|
|
extern lv_obj_t * page_components;
|
|
extern lv_obj_t * page_settings;
|
|
extern lv_obj_t * page_zodiacs;
|
|
|
|
|
|
extern int current_page_idx;
|
|
extern int settings_page_idx;
|
|
extern int last_page_idx;
|
|
|
|
extern lv_timer_t * idle_timer;
|
|
extern int lottie_id;
|
|
extern bool is_ui_mode;
|
|
extern const char * TAG_MAIN; // 共享 main.c 里的 TAG_MAIN
|
|
|
|
extern lv_ui guider_ui;
|
|
|
|
// --- 函数声明 ---
|
|
void ui_event_gesture_cb(lv_event_t * e);
|
|
void idle_timer_cb(lv_timer_t * timer); // 新增声明
|
|
void ui_pages_create(void); // 一次性创建所有页面
|
|
void ui_hide_all_pages(void); // 隐藏所有页面,回到动画
|
|
void ui_change_page(int new_idx, lv_screen_load_anim_t anim_type); // 核心切换函数
|
|
void ui_reset_idle_timer(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif |