继续优化菜单RAM降低

This commit is contained in:
2026-09-08 22:24:45 +08:00
parent 3742a33a66
commit 8b8aac39a6
7 changed files with 195 additions and 172 deletions
+11 -9
View File
@@ -2,7 +2,7 @@
* 模块名称:UI Menu View (菜单显示模型渲染层)
* 模块功能:以 LVGL 基元控件实现《菜单页面设计.md》§四⑧"横向级联子框"显示模型:
* 右贴靠(子框左缘=父框右缘、共享边框列)+ 框宽内容自适应 +
* 顶对齐/底对齐上移;持有全部 LVGL 对象(样式/4 层容器/框/根框装饰),
* 顶对齐/底对齐上移;持有全部 LVGL 对象(样式/持久容器/框),
* 不持有任何导航状态——状态由逻辑层 ui_menu.c 经本接口驱动
* 适用平台:STM32F407ZGTx / PC 模拟器(两端共用)
* 作者:王建锋
@@ -10,6 +10,8 @@
* 修改记录:
* 2026-09-04 王建锋 创建:自旧 ui_menu.c 单页模型拆分出显示层(高内聚低耦合)
* 2026-09-08 王建锋 行改自绘(节点下标注册 + 框体 DRAW_MAIN 自绘 + 虚拟滚动),接口不变
* 2026-09-08 王建锋 4 层容器→单一持久容器(container/focus 去 depth 参数);
* 根框装饰/状态行改容器自绘
*/
#ifndef UI_MENU_VIEW_H
#define UI_MENU_VIEW_H
@@ -37,13 +39,13 @@
int ui_menu_view_init(void);
/*
* 函数功能:取指定深度的持久容器
* 入口参数:depth - 深度 0..MENU_PAGE_MAX-1 uint8_t
* 返回值:容器对象 lv_obj_t * 越界返回 NULL
* 函数功能:取持久容器
* 入口参数:无
* 返回值:容器对象 lv_obj_t * 未初始化返回 NULL
* 限定条件:ui_menu_view_init() 已完成
* 函数说明:逻辑层在容器上绑定输入组与键事件(显示层不碰输入)
*/
lv_obj_t *ui_menu_view_container(uint8_t depth);
lv_obj_t *ui_menu_view_container(void);
/*
* 函数功能:构建指定深度的框(几何现算 + 行数据注册 + 选中/滚动应用)
@@ -99,12 +101,12 @@ void ui_menu_view_set_scroll(uint8_t depth, uint16_t scroll);
uint16_t ui_menu_view_get_scroll(uint8_t depth);
/*
* 函数功能:焦点移至指定深度的容器
* 入口参数:depth - 深度 uint8_t
* 函数功能:焦点置于持久容器
* 入口参数:无
* 返回值:无
* 限定条件:ui_menu_view_init() 已完成且容器已加入输入组
* 函数说明:焦点=最右框;进/退时由逻辑层调用
* 函数说明:焦点=唯一键入口(框深度由逻辑层 s_depth 决定);进/退时由逻辑层调用
*/
void ui_menu_view_focus(uint8_t depth);
void ui_menu_view_focus(void);
#endif /* UI_MENU_VIEW_H */