Module resizable_split
Expand description
ResizableSplit — a two-pane container with a draggable divider — and
the divider itself, SplitHandle, for hosts that paint their panes.
The divider is a hairline at rest with a wider target around it; it
thickens under the pointer and while dragged. Dragging it, or the arrow
keys while it holds keyboard focus, moves the SplitRatio, clamped so
neither pane collapses. Assistive technology meets it as a separator
whose value is the first pane’s share.
State lives on the widget rather than the CRDT: the ratio is a per-instance visual tuning, not replicated content.
Structs§
- Resizable
Split - Two panes and the divider between them.
- Split
Handle - The divider between two panes: hit-testing, hover, dragging, keyboard
steps, painting and its accessible separator node.
ResizableSplitkeeps one; a host that paints its panes itself (a query editor over its results, a source beside its preview) keeps one too, sets its rect each layout and lays its panes out inSplitHandle::pane_rects. - Split
Ratio - The share of a two-pane split the first pane takes, clamped to bounds
so neither pane collapses. One model for
ResizableSplitand for painted hosts (SplitHandle).