Öffentliche API
Erkennen Sie auf einen Blick, ob eine Fähigkeit auf der obersten Ebene von ui oder in einem Unter-Namespace liegt.
src/ui/ui.zig ist die gesamte öffentliche API: Apps verwenden nur ui.* und ui.<group>.*, und jede Änderung, die einen dieser Namen bricht, gilt als API-Bruch.
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
Die Top-Level-Namen, die jede App braucht, nach Zweck gruppiert. Die ersten fünf Gruppen decken die meisten UI-Dateien ab; die letzte ist für eigenes Zeichnen und Framework-Hosts.
Kontext, Knoten und Lebensdauer
Cx · Node · Scope · Style · BoxStyle · HandlerRefKnoten-Konstruktoren
box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNodeTheme-sichere Builder und Styling
boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorSchemeLayout-Werttypen
Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStyleFarbe und Zeicheneffekte
Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurfaceText-Props und Layout-Ergebnis
TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelectionBilder, Icons und Cursor
ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDescReaktive Grundlagen (vollständig in ui.reactive)
Signal · Memo · createEffect · createMemoBedingungen und Listen (auch ui.control_flow)
Show · For · MatchBarrierefreiheits-Eigenschaften
A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRangeKontrollierte / unkontrollierte Props
ControlledPropEigenes Zeichnen, Layout-Callbacks und aufgeteilte Tasks
DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frameTier 2 · ui.<group>.X
Nach Themen gruppiert. Greifen Sie darauf zurück, wenn Sie mehr als die Grundlagen brauchen.
ui.widgetsDie Komponentenbibliothek: Button, Input, Modal, Tabs, VirtualList, Calendar, Notifier, FormOf…ui.fxAnimation (Tween, Spring, Timeline), Physik, Transition / SnapshotTransition, Routerui.eventsVollständiges Event und EventResult plus Payloads für Tastatur, Maus, Scrollen, Drag und IME (ImePreeditEvent / ImeCommitEvent)ui.hooksuseHover, useFocusRing, useHoverHighlight, useAnimatedBackground, onMount / onCleanupui.reactiveDas vollständige reaktive System: Scope, Context, StoreOf, SignalOwner, eqlValueui.control_flowShow / For / Match und ihre Optionstypenui.focusFocusManager, FocusScopeConfig, Tab-Reihenfolgeui.actionsAction, KeyBinding, CommandBinding, ActionDispatcherui.themeThemeTokens, ColorTokens und die eingebauten light / dark / high_contrastui.iconsDer vollständige Icon-Katalog des gewählten Providers (get, all)ui.system_iconsProviderneutrale semantische Icon-Rollenui.assetsDer SVG-Asset-Typ und die Legacy-Icons in commonui.interactionInteraktionsprimitive wie RangeHoverRegistry und dragui.select_headlessHeadless-Zustandsautomat für Select (step, commitSelection)ui.gestureGestenerkennung und -arbitrierung (Recognizer, GestureArena)ui.hit / ui.pathHit-Testing (HitQuery, HitBehavior…) und Pfadgeometrie (PathCommand, Transform2D…)ui.platform_servicesZwischenablage und Dateidialoge, mit cx.system_sdk als Argumentui.text_shapingHooks für Schriftauflösung und -messung (setShapeFontResolver…)ui.consoleLogging pro Cx: Console, ScopedConsole, Level, Config, Snapshotui.devtoolsoverlay (Inspektor im Fenster), mountPanel (eigenständiges Panel), trace, source_linkProps und Ergebnistypen der Komponenten finden Sie auf der Komponenten-Website; die Icon-Liste steht in der Icon Gallery. ui.a11y dient nur der Anbindung der Plattform-Runtime und ist nicht für App-Autoren gedacht — die Barrierefreiheit einer Komponente steckt in den A11yProps eines Knotens.
zenit_app
zenit_app.App ist der Runtime-Helper für ein Fenster — Plattform-, GPU- und Schrift-Setup plus Event-Loop; zenit_app.MultiWindowApp verwaltet mehrere unabhängige native Fenster (höchstens 16; darüber hinaus erhalten Sie error.TooManyWindows). Das Modul exportiert außerdem WindowConfig, MultiWindowConfig, FontConfig und ResourcePath. Fortgeschrittene Hosts können tiefer ansetzen, gewöhnliche Apps sollten aber hier beginnen.