Expand description
Runtime-free UI surface primitives.
This module exposes the part of ltk that is useful outside ltk::run:
widget tree layout, drawing into a Canvas, hit-test rect snapshots, and
damage tracking. It deliberately contains no Wayland client event loop,
layer-shell, xdg-shell, SHM pool, or frame-callback logic.
Re-exports§
pub use crate::gles_render::BorrowedGlesTexture;pub use crate::gles_render::GlesVersion;
Structs§
- Result of laying out one interactive widget — i.e. a widget that should receive pointer / touch hit-testing. Captures both the hit rect (where input lands) and the paint rect (the bounding box of everything the widget actually paints, including hover circles, focus rings, shadows…). The paint rect is used by the partial-redraw path to know how much of the canvas must be invalidated when a widget transitions in/out of a given state — it is always
>= rect. - Options for one runtime-free render pass.
- Result of rendering a tree into a
UiSurface. - A retained rendering target for code that wants ltk widgets without
ltk::run.
Enums§
- Per-frame rendering surface. Wraps a backend (software or GPU) behind an enum so widgets can stay backend-agnostic.
- Per-leaf interaction snapshot captured during layout. One variant per interactive widget kind; the layout pass clones the relevant callbacks / values from the
Elementtree into here so input handlers can dispatch in O(1) without re-walking the tree.