公开 API 参考
快速判断一个能力应该从 ui 顶层还是子命名空间获取。
预计阅读 6 分钟
src/ui/ui.zig 就是完整的公开 API:应用只使用 ui.* 与 ui.<group>.*,破坏其中任何一个名字都算 API break。
const ui = @import("ui");
const zenit_app = @import("zenit_app");
// Tier 1: straight off ui
const title = try ui.text(cx, "Hello", .{});
// Tier 2: through the group
const theme = &ui.theme.dark;
const Router = ui.fx.Router;Tier 1 · ui.X
每个应用都会用到的顶层名字,按用途分组。前五组覆盖大多数界面文件;最后一组面向自定义绘制与框架宿主。
Runtime
上下文、节点与生命周期
上下文、节点与生命周期
Cx · Node · Scope · Style · BoxStyle · HandlerRefBuilders
节点构造
节点构造
box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNodeStyled
主题安全构造与样式系统
主题安全构造与样式系统
boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorSchemeLayout
布局值类型
布局值类型
Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStylePaint
颜色与绘制效果
颜色与绘制效果
Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurfaceText
文本属性与折行产物
文本属性与折行产物
TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelectionMedia & cursor
图像、图标与光标
图像、图标与光标
ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDescReactive
响应式基础(完整面在 ui.reactive)
响应式基础(完整面在 ui.reactive)
Signal · Memo · createEffect · createMemoControl flow
条件与列表(也在 ui.control_flow)
条件与列表(也在 ui.control_flow)
Show · For · MatchA11y
无障碍属性
无障碍属性
A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRangeComponents
受控 / 非受控 prop
受控 / 非受控 prop
ControlledPropAdvanced
自定义绘制、布局回调与分片任务
自定义绘制、布局回调与分片任务
DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frameTier 2 · ui.<group>.X
按关注点分组。需要超出基础能力时再使用。
命名空间能力
ui.widgets完整组件库:Button、Input、Modal、Tabs、VirtualList、Calendar、Notifier、FormOf…ui.fx动画(Tween、Spring、Timeline)、物理、Transition / SnapshotTransition、Routerui.events完整 Event 与 EventResult,键鼠、滚轮、拖放、IME(ImePreeditEvent / ImeCommitEvent)payloadui.hooksuseHover、useFocusRing、useHoverHighlight、useAnimatedBackground、onMount / onCleanupui.reactive完整响应式系统:Scope、Context、StoreOf、SignalOwner、eqlValueui.control_flowShow / For / Match 及其选项类型ui.focusFocusManager、FocusScopeConfig、tab orderui.actionsAction、KeyBinding、CommandBinding、ActionDispatcherui.themeThemeTokens、ColorTokens 与内置 light / dark / high_contrastui.icons所选 provider 的完整图标目录(get、all)ui.system_icons与 provider 无关的语义图标角色ui.assetsSVG Asset 类型与 common 兼容图标ui.interactionRangeHoverRegistry、drag 等交互原语ui.select_headlessSelect 的 headless 状态机(step、commitSelection)ui.gesture手势识别与仲裁(Recognizer、GestureArena)ui.hit / ui.path命中测试(HitQuery、HitBehavior…)与路径几何(PathCommand、Transform2D…)ui.platform_services剪贴板与文件对话框,参数为 cx.system_sdkui.text_shaping字体解析与测量钩子(setShapeFontResolver…)ui.consoleper-Cx 日志:Console、ScopedConsole、Level、Config、Snapshotui.devtoolsoverlay(窗口内检查)、mountPanel(独立面板)、trace、source_link组件的 props 与结果类型见组件站;图标清单见 Icon Gallery。ui.a11y 只用于平台运行时接线,应用作者不需要它——组件的无障碍信息写在节点的 A11yProps 上。
zenit_app
zenit_app.App 是单窗口运行时助手,负责平台 / GPU / 字体初始化与事件循环;zenit_app.MultiWindowApp 管理多个独立原生窗口(上限 16 个,超出返回 error.TooManyWindows)。同一模块还导出 WindowConfig、MultiWindowConfig、FontConfig 与 ResourcePath。高级宿主可以使用更低层的接口,但普通应用应从这里开始。
边界
WARNING