sdk: meow_ui.h 公共头按模块拆分(伞头聚合,API 零改动)
- meow_ui.h(922 行)改为伞头:只做 #include 聚合 + 模块索引,不定义新 API。 - 新增 patch_v2/sdk/include/ 16 个子头(types/draw/image/theme/ime/widgets/input/ activity/zorder/statusbar/dialog/log/notify/config/font/audio),各自自洽可单独 include, 依赖最小化(不透明句柄前向声明 + 必要模块互引)。 - 验证:meow_ui.a md5 与主树完全一致(4786158d…,头重组 .o 逐字节等价); SDK .c 用 mipsel -Wall -Wextra 0 warning;hello/files 全量重编链接通过 (-Wall -Wextra 0 warning);宿主 test_p1p2p3_repro(P1c/P2/P3 ALL PASS) + 15 个 SDK/宿主测试 PASS;16 子头自洽编译 0 warning;伞头完整性回归 test_umbrella.c 0 warning;ncm 5 个含 meow_ui.h TÜ mipsel 交叉编译到 .o 0 warning。 - meow_ui_internal.h 及 view/nav/media/sys/vol 子头未动;build_sdk.sh 无需改。 - MEOW_APP_SDK.md 头部新增「公共头模块索引」。分支 sdk-header-split。
This commit is contained in:
1 parent
51281e609f
commit
4534b840c2
19 files changed
+1368
-897
No files matched your search
@@ -5,6 +5,35 @@
|
||||
|
||||
---
|
||||
|
||||
## 公共头模块索引(头文件拆分,2026-09-01)
|
||||
|
||||
`patch_v2/sdk/meow_ui.h` 为**伞头**:只做 `#include` 聚合 + 注释索引,不定义新 API。所有既有 App(hello/files/ncm/launcher)只 `#include "meow_ui.h"` 即获得全部 SDK 接口,**零改动继续编译**;`meow_ui.a` 语义等价(头重组后 `.o` 逐字节一致,md5 与拆分前相同)。接口一律以 `patch_v2/sdk/meow_ui.h` 为准(与拆分前一致,未改名/未改值/未改签)。
|
||||
|
||||
按模块拆出的公共子头位于 `patch_v2/sdk/include/`(各自自洽、可单独 include;相互依赖最小化,需要交叉引用时用不透明句柄前向声明):
|
||||
|
||||
| 子头 | 模块 | 内容(对应本文档小节) |
|
||||
|---|---|---|
|
||||
| `meow_ui_types.h` | 核心类型/常量 | 物理键 keycode、滑动方向、`meow_widget`/`meow_img` 不透明句柄 |
|
||||
| `meow_ui_draw.h` | 绘制层 | §3 绘制 + §7 时间 + §7.1 刷新率调度 |
|
||||
| `meow_ui_image.h` | 图片层 | §4 图片 |
|
||||
| `meow_ui_theme.h` | 主题/配置 | §8 `meow_theme`、MD3 语义色板、风格族 |
|
||||
| `meow_ui_ime.h` | 输入法 | §5.1 IME(ASCII/NUM/PINYIN) |
|
||||
| `meow_ui_widgets.h` | 控件层 | §5 + §5.8 基座 + §5.8.6 MD3 组件 + §5.5 W_LISTVIEW |
|
||||
| `meow_ui_input.h` | 输入层/生命周期 | §6 + §6.3 通用长按 |
|
||||
| `meow_ui_activity.h` | Activity 栈 | §6.1 三层控件模型 |
|
||||
| `meow_ui_zorder.h` | 绘制物注册表 / z 序 | §6.2 区域重画 |
|
||||
| `meow_ui_statusbar.h` | 全局状态栏/全屏 | §3.1 |
|
||||
| `meow_ui_dialog.h` | 模态 | §5.8.6 Dialog/BottomSheet |
|
||||
| `meow_ui_log.h` | 应用日志 | §9 |
|
||||
| `meow_ui_notify.h` | 应用通知 | §9.1 |
|
||||
| `meow_ui_config.h` | 应用配置读写 | §9.2 |
|
||||
| `meow_ui_font.h` | 字体 | §5.7 卡片字体列表 + §10 字体分层 |
|
||||
| `meow_ui_audio.h` | 独占音频客户端 | §11 |
|
||||
|
||||
其余按需显式 include、**不**随伞头发布的模块头(原样保留、本次未改):`meow_ui_view.h` / `meow_ui_nav.h` / `meow_ui_media.h` / `meow_ui_sys.h` / `meow_ui_vol.h`。`meow_ui_internal.h` 为 SDK 内部件,不随伞头发布。
|
||||
|
||||
---
|
||||
|
||||
## 1. 问题与定案
|
||||
|
||||
**现状(APPS.md §3.3)**:应用必须"独占屏幕自绘"——自行 `open("/dev/fb0")`+`mmap` 绘制;自行 `open("/dev/input/event*")` 读输入;自行管返回。全部 480×720、RGB565、双缓冲 yoffset、ioctl 号 0x4600/0x4602,每个应用都要重写一遍,观感必然乱。
|
||||
|
||||
Reference in new issue
Block a user