mirror of
https://github.com/Darkrock-Studios/hammer-editor.git
synced 2026-08-05 23:59:46 +00:00
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. |
||
|---|---|---|
| .. | ||
| kotlin/com/darkrockstudios/apps/hammer/common | ||
| AndroidManifest.xml | ||