Skip to main content

Crate telar_ui_tree

Crate telar_ui_tree 

Source

Structs§

ComponentList
ForceTickContext
A per-surface force-tick signal, subscribed by every segment on that surface. Bumped after each event so segments re-run even when their view reads signals the effect cannot auto-track — notably the binary-side root segment under hot reload, whose view reads signals created in the app dylib (cross-boundary tracking is unreliable, so the force-tick makes it re-read current values, e.g. the real viewport). Per-surface so one surface’s event does not force-render the others; a global change (theme) re-renders all surfaces via its own shared signal, not this tick.
ForceTickGuard
NodeVec
OverlayContext
A per-surface overlay registry: the modals/toasts/tooltips registered for priority pointer routing on this surface. The runner activates each surface’s OverlayContext around its build/event/frame.
OverlayGuard
Segment
SegmentNodeInfo
A node emitted by Segment::walk: one mounted component, with its pre-order id, widget name, nesting depth, and the bounding rect of its own draw commands unioned with all descendants’.
SegmentRoot
Top-level holder for a segment tree (analog of ComponentList): exposes the composed commands. Change detection uses per-segment dirty flags (shared across the hot-reload boundary) rather than a thread-local generation, which would be duplicated per side.

Enums§

EventResult
RenderNode

Traits§

Component
Imperative-state components re-render only when on_event returns EventResult::Handled; reactive-state components re-render automatically on signal change.
OverlaySink
An overlay’s hook into priority pointer routing. Implemented in ui-core by the overlay widget.

Functions§

dispatch_overlays
Routes a positioned pointer event to the overlay layer with priority over the main tree. Returns Handled when an overlay consumed the event (the caller then skips the tree walk, blocking content behind the overlay) and Ignored when it should fall through to the tree (no overlays, or the point is outside every overlay and no gesture is captured). Non-pointer events always return Ignored so keyboard and CursorLeft keep broadcasting through the tree.
register_overlay
Registers an overlay for priority pointer routing; returns an id to pass to unregister_overlay on drop. Newly registered overlays sit on top of earlier ones.
unregister_overlay
Removes an overlay from the registry (call from the widget’s Drop). Also releases the pointer capture if this overlay held it, so a modal dismissed mid-gesture does not leave a dangling capture.