hammer-editor/composeUi/src/androidMain
Adam Brown 4804534151
Add visible scrollbars to scrolling screens (#820)
Fixes #787. Settings and other long screens had no scrollbar, so on
Linux there was nothing to indicate the page scrolled at all.

Adds ScrollState, LazyGridState and LazyStaggeredGridState scrollbars
alongside the existing LazyListState one, and wires them into the
screens that scroll: account and project settings, About, project
stats, the encyclopedia/notes/timeline/story-idea detail views and
browse grids, the outline reading column and chapter rail, the scene
metadata panel, and the shared reorderable list.

Compose ships no staggered-grid scrollbar adapter, so that one is
implemented over the state's ScrollIndicatorState.

Desktop draws the bar as a hatched rail: an outlineVariant hairline on
the scrollable edge with 45 degree hatching behind an opaque thumb, so
the hatch that remains marks the part of the document still to come.
Both are drawn only while there is somewhere to scroll. Android keeps
its transient fading thumb, now themed rather than black on white, and
iOS keeps its native indicators.

Screens overlay the bar with scrollBarOverlay(); full-bleed content
reserves MpScrollBarGutter so the rail does not sit on top of it.
2026-08-01 15:45:52 -07:00
..
kotlin/com/darkrockstudios/apps/hammer/common Add visible scrollbars to scrolling screens (#820) 2026-08-01 15:45:52 -07:00
AndroidManifest.xml Moved package name to gradle 2023-02-03 22:26:27 -08:00