feat(sdk): 绘制期通用clip + view递归/on_event接线 (agent-195) — ①栈式clip rect(g_clip_stack[16]), 所有写像素原语过clip, meow_widget_draw push/pop控件矩形(含W_CUSTOM, 根治越界脏区), IME/模态顶层全屏不受影响 ②view enter/leave递归children + meow_view_dispatch_event(z降序子>父命中即消费); hello App层显式驱动退役
meow_ui.a→da4d3a7d; hello→c655ba43; 宿主4套件全PASS(含clip越界断言+view递归断言) 出入: W_SLIDER拇指在max处被裁(既有几何瑕疵可见化,待修); on_draw祖先已进入即画
This commit is contained in:
1 parent
b2e7cc8c70
commit
32a6a8ed1e
14 files changed
+257
-44
No files matched your search
@@ -102,6 +102,14 @@ void meow_gfx_mark_dirty(int x, int y, int w, int h);
|
||||
* 解除后由调用方一次 flush 原子上屏,避免覆盖层与 App on_tick 重绘同帧两刷频闪。 */
|
||||
void meow_gfx_flush_hold(int on);
|
||||
|
||||
/* 绘制期裁剪(MEOW_APP_SDK.md §3,2026-08-31):当前 clip 矩形内才写像素,默认全屏。
|
||||
* meow_widget_draw(w) 画任何控件前 push 该控件矩形、画完 pop——任何控件(含 W_CUSTOM)
|
||||
* 画不出自身边界,根治自定义画布越界脏区。可嵌套(入栈/出栈,push 与当前 clip 求交)。
|
||||
* 顶层 clip=全屏,故 IME/模态(snapshot+整帧路径)经 gfx 原语直绘全屏 scrim 时不受裁剪;
|
||||
* meow_gfx_flush_hold 语义不依赖 clip(flush 只在解除后原子上屏)。 */
|
||||
void meow_gfx_clip_push(int x, int y, int w, int h);
|
||||
void meow_gfx_clip_pop(void);
|
||||
|
||||
/* 标记整帧脏(launcher 手动脏模型桥接:自绘 raw 像素后标全屏,present 走 SDK)。 */
|
||||
void meow_gfx_mark_full(void);
|
||||
|
||||
|
||||
Reference in new issue
Block a user