Expand description
Default SplitterStyle impl — the IntUI divider-handle look.
Reproduces the old SplitView chrome: a thin static line at the
gutter’s center (so the divider never disappears), with a thicker
focus-color line that cross-fades in on hover-dwell and snaps to full
strength on keyboard focus or drag.
The visual body is a small private leaf (SplitterHandleBody) — same
“leaf body” choice as RecipeSliderStyle. Custom SplitterStyle
impls compose their own body instead.
§The resting line is unconditional, and that is load-bearing
The divider a user has to aim at is painted whether or not anything is
hovering it — fill_rect(line_rect(line_thickness), colors.border) runs
before any state is consulted. The 400 ms hover dwell only fades in a
second, focus-coloured line that keyboard focus and an active drag both
show instantly.
So the splitter owes a touch user no reveal: there is nothing hidden behind
hover to reveal. What it owed was a grab, and that is
SplitterHandle’s Widget::hit_outset — a hit-only
widening of the 6 dp gutter to the density’s target size that leaves this
paint untouched at every density. The cursor change over the gutter is a
mouse affordance and stays exactly as it was.
An earlier reading of the hover census had this style hiding the divider
until hover and owing a touch reveal; the source says otherwise, and
the_resting_line_is_painted_with_no_interaction_at_all below keeps it
that way.
Structs§
- Recipe
Splitter Style - Default
SplitterStyleshipped with Teksilo. Colors come fromtheme.colors.{border, focus_ring}. - Splitter
Recipe - Configurable dimensions for
RecipeSplitterStyle.
Constants§
- SPLITTER_
DIVIDER_ LINE_ THICKNESS - Thickness of the always-present resting divider line, in dp.