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
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* meow_ui_ime.h — SDK 输入法(§5.1,B1):内置触屏软键盘。
|
||||
*
|
||||
* 原 meow_ui.h 拆分的一部分(ime 模块)。仅英文 QWERTY / 数字 / 中文拼音(ASCII/NUM/PINYIN)。
|
||||
* 输入事件循环/触摸命中优先级见 meow_ui_input.h 相关约定(IME 弹出时吞触摸)。
|
||||
*/
|
||||
#ifndef MEOW_UI_IME_H
|
||||
#define MEOW_UI_IME_H
|
||||
|
||||
#include "meow_ui_types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* ============================================================ */
|
||||
/* §5.1 输入法(IME)—— 内置触屏软键盘(仅英文 QWERTY / 数字,ASCII) */
|
||||
/* ============================================================ */
|
||||
/* 输入法模式(尾部追加枚举:ASCII/NUM 值不变,零 ABI 回归)。PINYIN=中文拼音(meow_ui_ime.c)。 */
|
||||
typedef enum { MEOW_IME_ASCII, MEOW_IME_NUM, MEOW_IME_PINYIN } meow_ime_mode;
|
||||
|
||||
typedef struct meow_ime_ctx {
|
||||
meow_ime_mode mode;
|
||||
char buf[256]; /* 输入缓冲(初始值可预填) */
|
||||
int maxlen; /* 最大字符数(含 NUL 预算) */
|
||||
void (*on_change)(const char *text, void *ctx); /* 每次字符变化回调一次 */
|
||||
void *ctx;
|
||||
} meow_ime_ctx;
|
||||
|
||||
/* 阻塞:弹出键盘直到关闭(ESC / 点背景取消);回车=只提交不关闭(内容经 on_change 实时同步)。
|
||||
* 关闭路径返回 0(取消);提交内容经 on_change 回调逐键同步,不依赖返回值回填 buf。 */
|
||||
int meow_ui_text_input(meow_ime_ctx *ctx);
|
||||
|
||||
/* 非阻塞:返回后 app 在 on_tick 里轮询 meow_ime_active()/meow_ime_text() */
|
||||
void meow_ui_text_input_async(meow_ime_ctx *ctx);
|
||||
int meow_ime_active(void);
|
||||
const char *meow_ime_text(void);
|
||||
|
||||
/* 拼音模式组合态:当前拼音组合串(去声调小写,如 "nihao")供 App 渲染字段预览;
|
||||
* 无组合(或非拼音模式)返回 ""。组合串是 IME 内部态,不写入字段(§4.2)。 */
|
||||
const char *meow_ime_composition(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* MEOW_UI_IME_H */
|
||||
Reference in new issue
Block a user