sdk: 增量同步主仓新模块(box/anim/scroll/dispatch/listvirt/str/sb_icons/img)
subtree pull sdk 来自主仓 pub/sdk(主仓 commit 68ce46a 等)。新增: - 布局引擎 meow_ui_box / 动画基座 meow_ui_anim / 滚动物理 meow_ui_scroll - §6.4 事件分发形式化 / W_LISTVIEW 虚拟化多行 / meow_str 字符串资源 i18n - sb_icons 动作图标扩充 + topbar 位图图标 / meow_img_downscale - tools/ 图标生成脚本与 SVG 源 - 对应宿主 test_*.c 与 demo_box_scroll.c build_sdk.sh 冲突解析:保留公开仓自包含版(vendored meow_font + -Iinclude -I.), OBJS 手工并入 4 个新模块(meow_ui_box/anim/scroll/str)。保留 vendored meow_font.c/ meow_ipc.h/meow_font.h/meow_notif.h,剔除宿主测试二进制与编译产物。
This commit is contained in:
commit
4b094d62a5
56 files changed
+4327
-117
No files matched your search
@@ -266,6 +266,28 @@ void meow_draw_view_set_z(struct meow_view *v, int z)
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================================ */
|
||||
/* §6.4 自上而下命中(事件分发形式化) */
|
||||
/* ============================================================ */
|
||||
void *meow_draw_hit_topdown(int x, int y)
|
||||
{
|
||||
void *best = NULL;
|
||||
int bestz = -1, bestseq = -1;
|
||||
for (int i = 0; i < g_n; i++) {
|
||||
draw_entry *e = &g_e[i];
|
||||
e_compute_auto(e);
|
||||
/* 只对注册控件做顶层命中;view 是容器(其子 widget 是独立更高 z 的绘制物,各自命中),
|
||||
* CUSTOM 是 App 直绘(不参与命中)。meow_widget_hit 内部含 owner==active + enable +
|
||||
* 矩形/自定义命中回调。 */
|
||||
if (e->kind != MEOW_ITEM_WIDGET || !e->w) continue;
|
||||
if (!meow_widget_hit(e->w, x, y)) continue;
|
||||
if (e->z > bestz || (e->z == bestz && e->seq > bestseq)) {
|
||||
bestz = e->z; bestseq = e->seq; best = e->w;
|
||||
}
|
||||
}
|
||||
return best;
|
||||
}
|
||||
|
||||
/* ============================================================ */
|
||||
/* page bg / 区域重画 / 整帧 */
|
||||
/* ============================================================ */
|
||||
|
||||
Reference in new issue
Block a user