Skip to main content

Module recipe_splitter_style

Module recipe_splitter_style 

Source
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§

RecipeSplitterStyle
Default SplitterStyle shipped with Teksilo. Colors come from theme.colors.{border, focus_ring}.
SplitterRecipe
Configurable dimensions for RecipeSplitterStyle.

Constants§

SPLITTER_DIVIDER_LINE_THICKNESS
Thickness of the always-present resting divider line, in dp.