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:
MeowOS committed 2026-08-31 05:24:43 +08:00
1 parent b2e7cc8c70
commit 32a6a8ed1e
14 files changed
+257 -44

No files matched your search

+2 -3
View File
@@ -95,11 +95,10 @@ extern rect_t r_dr1, r_dr2; /* Radio 几何 */
/* ---- 列表区 CONTAINER 子视图(ui/demo/list/list.c;批③ 视图深度化)----
* demo 页把列表逻辑区块抽成 meow_view CONTAINER 子视图挂到 DEMO ACTIVITY view children,
* 承接列表交互(tap/down/move/swipe)、列表视图态与列表区块标题 on_draw 直绘。
* 嵌套生命周期(list_view_enter/leave)由 demo 页 on_enter/on_leave 驱动(SDK 骨架不递归)。 */
* 嵌套生命周期由 SDK view_enter/view_leave 递归驱动(随 demo 页进出;list_view_enter/leave
* 已退役,无需 App 层显式接管)。 */
meow_view *list_view_create(void); /* 建 CONTAINER 子视图(须即 meow_view_add_child) */
meow_view *list_view_get(void); /* 返回子视图(宿主测嵌套 on_enter/on_leave 断言) */
void list_view_enter(void); /* 进入子视图(置 ENTERED + on_enter,幂等) */
void list_view_leave(void); /* 离开子视图(清 ENTERED + on_leave,幂等) */
void list_view_bind(meow_widget *w, rect_t list, rect_t title); /* 内容重建后绑控件+几何+恢复态 */
void list_view_release(void); /* 内容释放后摘引用/几何 */
int list_view_hit(int x, int y); /* tap 分发给列表区,命中即消费(含选中) */