docs/reference/public-api
Référence · Surface map

API publique

Voyez d’un coup d’œil si une fonctionnalité se trouve au niveau supérieur de ui ou dans un sous-namespace.

6 min de lecture

src/ui/ui.zig constitue toute l’API publique : les apps n’utilisent que ui.* et ui.<group>.*, et casser un nom de l’un ou de l’autre compte comme une rupture d’API.

imports.zig
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

Les noms de premier niveau qu’utilise toute app, regroupés par usage. Les cinq premiers groupes couvrent la plupart des fichiers d’UI ; le dernier sert au dessin personnalisé et aux hôtes du framework.

Runtime
Contexte, nœuds et durée de vie
Cx · Node · Scope · Style · BoxStyle · HandlerRef
Builders
Constructeurs de nœuds
box · hstack · vstack · text · textFmt · image · imageTint · svg · svgTint · icon · iconTint · spacer · clickable · grid · animateNode
Styled
Builders compatibles avec le thème et styles
boxStyled · hstackStyled · vstackStyled · textStyled · iconStyled · iconTintStyled · recipe · ConditionalStyle · arb · ThemeTokens · ColorScheme
Layout
Types de valeur de layout
Sizing · Size · Point · Padding · Margin · Border · Outline · Direction · FlexWrap · AlignItems · JustifyContent · ComputedRect · GridStyle
Paint
Couleur et effets de peinture
Color · BlendMode · CornerRadius · CornerRadii · Shadow · InsetShadow · Gradient · GradientStop · MultiGradient · GradientDirection · GlassParams · GlassSurface
Text
Props de texte et résultat de mise en page
TextProps · TextStyle · TextWrap · TextAlign · TextLayout · LineInfo · textAlignLineOffset · TextInputClient · TextInputSelection
Media & cursor
Images, icônes et curseurs
ImageProps · IconProps · SvgAsset · CursorShape · CursorRegion · CursorToken · CustomCursorDesc
Reactive
L’essentiel réactif (tout dans ui.reactive)
Signal · Memo · createEffect · createMemo
Control flow
Conditions et listes (aussi ui.control_flow)
Show · For · Match
A11y
Propriétés d’accessibilité
A11yRole · A11yProps · A11yOrientation · A11ySortDirection · A11yRect · A11yValueRange
Components
Props contrôlées / non contrôlées
ControlledProp
Advanced
Dessin personnalisé, callbacks de layout et tâches découpées
DisplayItem · DrawContext · BulkQuad · AfterLayoutFn · AfterLayoutResult · max_after_layout_rounds · PointerDownFocus · Task · WorkKey · frame

Tier 2 · ui.<group>.X

Regroupés par domaine. Utilisez-les quand vous avez besoin de plus que l’essentiel.

NamespaceContenu
ui.widgetsLa bibliothèque de composants : Button, Input, Modal, Tabs, VirtualList, Calendar, Notifier, FormOf…
ui.fxAnimation (Tween, Spring, Timeline), physique, Transition / SnapshotTransition, Router
ui.eventsEvent et EventResult complets, plus les payloads clavier, souris, défilement, glisser et IME (ImePreeditEvent / ImeCommitEvent)
ui.hooksuseHover, useFocusRing, useHoverHighlight, useAnimatedBackground, onMount / onCleanup
ui.reactiveLe système réactif complet : Scope, Context, StoreOf, SignalOwner, eqlValue
ui.control_flowShow / For / Match et leurs types d’options
ui.focusFocusManager, FocusScopeConfig, ordre de tabulation
ui.actionsAction, KeyBinding, CommandBinding, ActionDispatcher
ui.themeThemeTokens, ColorTokens et les thèmes intégrés light / dark / high_contrast
ui.iconsLe catalogue d’icônes complet du provider choisi (get, all)
ui.system_iconsRôles d’icônes sémantiques indépendants du provider
ui.assetsLe type SVG Asset et les icônes héritées de common
ui.interactionPrimitives d’interaction comme RangeHoverRegistry et drag
ui.select_headlessMachine à états headless de Select (step, commitSelection)
ui.gestureReconnaissance et arbitrage des gestes (Recognizer, GestureArena)
ui.hit / ui.pathHit testing (HitQuery, HitBehavior…) et géométrie des tracés (PathCommand, Transform2D…)
ui.platform_servicesPresse-papiers et dialogues de fichiers, prenant cx.system_sdk
ui.text_shapingHooks de résolution et de mesure des polices (setShapeFontResolver…)
ui.consoleJournalisation par Cx : Console, ScopedConsole, Level, Config, Snapshot
ui.devtoolsoverlay (inspecteur dans la fenêtre), mountPanel (panneau autonome), trace, source_link

Les props et types de résultat des composants se trouvent sur le site des composants ; la liste des icônes est dans l’Icon Gallery. ui.a11y ne sert qu’au câblage du runtime de la plateforme et ne s’adresse pas aux auteurs d’apps. L’accessibilité d’un composant se définit dans les A11yProps d’un nœud.

zenit_app

zenit_app.App est le helper de runtime mono-fenêtre : initialisation de la plateforme, du GPU et des polices, plus la boucle d’événements. zenit_app.MultiWindowApp gère plusieurs fenêtres natives indépendantes (16 au maximum ; au-delà, vous obtenez error.TooManyWindows). Le module exporte aussi WindowConfig, MultiWindowConfig, FontConfig et ResourcePath. Les hôtes avancés peuvent descendre plus bas, mais les apps ordinaires devraient commencer ici.

Frontière

zenit · Double licenceGratuit pour les projets open source sous GPL-3.0-only ; les produits propriétaires ou commerciaux nécessitent une licence commerciale.Contacter l’auteur : zongyi.xzy#gmail.com (remplacez # par @)zenit 4c50245 2026-10-01