Skip to main content

Module resizable_split

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§

ResizableSplit
Two panes and the divider between them.
SplitHandle
The divider between two panes: hit-testing, hover, dragging, keyboard steps, painting and its accessible separator node. ResizableSplit keeps 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 in SplitHandle::pane_rects.
SplitRatio
The share of a two-pane split the first pane takes, clamped to bounds so neither pane collapses. One model for ResizableSplit and for painted hosts (SplitHandle).

Enums§

SplitOrientation