MeowOS for HiBy R3 Pro II — 公共发布版本(历史已重置)
• 全新单提交:清除含敏感信息的旧历史(sudo 口令、内网 IP、SSH 密钥路径、热点 SSID、设备 MAC) • 本地开发文档/测试记录/构建脚本全部移入 gitignored 的 devdocs/ 与 scripts/build/(不入库) • 保留:MeowOS 源码(launcher/watchdog/bootmenu/meow_svcd/SDK)、项目规范文档、mips-repo 增补组件:SDK 统一日志+通知 API、meow_svcd 服务管理器、mips-repo 软件仓库
This commit is contained in:
commit
245bee2946
136 files changed
+32730
No files matched your search
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* meow_ui_internal.h — SDK 内部各 TU 共享声明(不随 meow_ui.h 发布给应用)。
|
||||
* 仅供 meow_ui_*.c 之间协作:渲染后端底层能力 + 输入事件队列 + 主题取用。
|
||||
*/
|
||||
#ifndef MEOW_UI_INTERNAL_H
|
||||
#define MEOW_UI_INTERNAL_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "meow_ui.h"
|
||||
|
||||
/* ---- 渲染后端(meow_ui_gfx.c)提供 ---- */
|
||||
/* 把 RGBA 像素(stb_image 输出,4 通道 straight alpha)blit 进 back_buf;
|
||||
* alpha 为全局不透明度 0-255(255 时仍用像素自身 alpha 做逐像素混合)。 */
|
||||
void meow_gfx_blit_rgba(int x, int y, int w, int h, const uint8_t *rgba, int alpha);
|
||||
|
||||
/* 标记一个区域脏(供非标准绘制使用)。 */
|
||||
void meow_gfx_mark_dirty(int x, int y, int w, int h);
|
||||
|
||||
/* 标记整帧脏(launcher 手动脏模型桥接:自绘 raw 像素后标全屏,present 走 SDK)。 */
|
||||
void meow_gfx_mark_full(void);
|
||||
|
||||
/* 返回离屏 back_buf 指针(launcher 系统组件与 SDK 共用同一 back_buf 用)。 */
|
||||
unsigned char *meow_ui_back_buf(void);
|
||||
|
||||
/* 实心圆角矩形(控件按钮底色用;公共 §3 只有空心 draw_rect_round)。[D3] */
|
||||
void meow_gfx_fill_round(int x, int y, int w, int h, int r, uint32_t color);
|
||||
|
||||
/* 是否运行于真实 fb 之上(0 = 头less/离屏,qemu/宿主)。 */
|
||||
int meow_gfx_is_device(void);
|
||||
|
||||
/* 中文/日文字库(mfont)是否已加载(状态栏「蓝牙」CJK 与回退 "BT" 二选一)。 */
|
||||
int meow_gfx_mfont_ready(void);
|
||||
|
||||
/* ---- 输入层(meow_ui_input.c)---- */
|
||||
/* 语义事件:由输入线程解析后压入队列,run/IME 循环弹出。 */
|
||||
#define MEOW_EV_KEY 1 /* a=keycode, b=1 按下 / 0 抬起 */
|
||||
#define MEOW_EV_TAP 2 /* a=x, b=y(触摸抬起落点) */
|
||||
#define MEOW_EV_SWIPE 3 /* a=MEOW_SWIPE_*, b=距离(px) */
|
||||
#define MEOW_EV_SWIPE_PROGRESS 4 /* a=按下X(t_dx), b=当前X(t_cx);dx=b-a(>0=左缘向内划=返回手势) */
|
||||
|
||||
typedef struct meow_input_ev {
|
||||
uint8_t type;
|
||||
int a, b;
|
||||
} meow_input_ev;
|
||||
|
||||
/* 启动输入线程(幂等)。无设备时仅空转。 */
|
||||
void meow_input_start(void);
|
||||
/* 从队列弹出一个事件;无事件返回 0。 */
|
||||
int meow_input_pop(meow_input_ev *ev);
|
||||
/* 注入一条语义事件(宿主验证手势分发/进度条用;设备上无调用方)。 */
|
||||
void meow_input_inject(int type, int a, int b);
|
||||
/* 清空队列(IME 打开前丢弃残留触摸,避免误敲)。 */
|
||||
void meow_input_drain(void);
|
||||
|
||||
/* ---- IME(meow_ui_ime.c)---- */
|
||||
/* 当前是否显示软键盘。 */
|
||||
int meow_ime_active(void);
|
||||
/* 软键盘拦截一次触摸。返回 1=已消费(供 IME 转键/提交),0=未命中(透传给 app)。 */
|
||||
int meow_ime_handle_tap(int x, int y);
|
||||
/* 软键盘绘制覆盖层(每次 flush 前调用;覆盖底部约 40%)。 */
|
||||
void meow_ime_draw(void);
|
||||
/* 关闭 IME 并交付最终结果(result: 1=确认 0=取消)。 */
|
||||
void meow_ime_close(int result);
|
||||
|
||||
#endif /* MEOW_UI_INTERNAL_H */
|
||||
Reference in new issue
Block a user