sdk(M7.0a): 视图事件接线 + IconButton + 主题色板导出/注入(launcher 重写基座前置)
M7 launcher 整体 MD3 重写的 SDK 基座补全(只动 patch_v2/sdk/): - 缺口#7 meow_view 事件接线:meow_view_dispatch_event 接入 meow_ui_run 主循环 (§6.4 分流之上,TAP/KEY/SWIPE/LONG_PRESS 先经 view 路由、命中即消费、未命中回落 on_* —— 无 view 树/未命中完全向后兼容);meow_view_add_child 在父已进入时挂子视图 立即进入(递归 children 修正);meow_view_sub_push/pop 标注废弃(设计定案 b 不做页内 子导航栈)。 - 缺口#2 IconButton:meow_iconbtn_create —— sb_icons 位图 + 圆形命中 + 按压/按住态 (实时,同 meow_btn)+ owner/enabled 闸门;电源菜单/播放控制/锁屏通用件。 - 缺口#6 SDK 半主题收口:meow_theme_export/meow_theme_inject(§8.1.5 色板导出/注入), launcher s_ui_theme() 将据此变读 SDK 的薄壳(launcher 侧改动不在此批)。 - 文档:MEOW_APP_SDK.md 补 meow_iconbtn_create + meow_theme_export/inject 说明。 - 验证:新增 test_meow_ui_iconbtn / test_meow_ui_theme_export / test_meow_ui_view_event 全 PASS;全量 SDK 宿主回归(widgets/dispatch/box/anim/scroll/listvirt/str/ime/pinyin/ overlay/notif/input_keys/p1p2p3/umbrella/ft)全 PASS;交叉 -Wall -Wextra 0 warning。 meow_ui.a md5: be24214e24faadba63577f3a98c2c9d1 -> 7fc83f7731cadb2f91df1c3ed7d3814f
This commit is contained in:
1 parent
e67cc50afa
commit
a8c51be1fc
12 files changed
+595
-11
No files matched your search
@@ -156,6 +156,10 @@ int meow_view_add_child(meow_view *parent, meow_view *child)
|
||||
if (parent->nchildren >= MEOW_VIEW_MAX_CHILD) return -1;
|
||||
parent->children[parent->nchildren++] = child;
|
||||
child->parent = parent;
|
||||
/* 递归修正(§A.4「子视图随父进出」):父已进入时挂上的子视图**立即**进入
|
||||
* (on_enter 不遗漏、参与事件分发)。页在 push/pop 时仍由 view_enter/view_leave 递归驱动,
|
||||
* 此处只补「运行期动态挂子」的间隙(hello 目录嵌套实为 create 后 page_push 前 add,不受影响)。 */
|
||||
if (parent->state & MEOW_VIEW_STATE_ENTERED) view_enter(child);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -218,11 +222,15 @@ void meow_view_page_replace(int id)
|
||||
g_top_view = next ? next : cur;
|
||||
}
|
||||
|
||||
/* ---- 页内子导航(预留扩展位 a 桩:本批不实现,仅返回占位)---- */
|
||||
/* ---- 页内子导航(预留扩展位 a,**标注废弃**)----
|
||||
* 设计定案 b(SDK_VIEW_FRAMEWORK_DESIGN.md §F.2:只做子视图容器嵌套,顶层页切仍走 activity
|
||||
* 栈,不做页内子导航栈):本函数对为「将来 a」预留的桩,**不实现、不供依赖**——调用方不得
|
||||
* 认为会建立/弹出子导航。页内「子页」请用 meow_view_add_child 挂 CONTAINER 子视图(组合嵌套),
|
||||
* 或以 activity 栈驱动页切换(page_push/pop/replace)。保留符号仅为未来 a 的占位。 */
|
||||
int meow_view_sub_push(meow_view *v, meow_view *sub)
|
||||
{
|
||||
(void)v; (void)sub;
|
||||
return 0; /* 预留:将来在 ACTIVITY view 内维护子栈 */
|
||||
return 0; /* 预留:将来在 ACTIVITY view 内维护子栈(见设计定案 b,不实现) */
|
||||
}
|
||||
meow_view *meow_view_sub_pop(meow_view *v)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user