The page column had a fixed 590 pt width, a few points more than the dialog had
beside the page list, so the whole Settings dialog scrolled sideways a little.
It takes the rest of the dialog's width now.
Test: ui_scrolling settings_dialog_does_not_scroll_sideways.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Most panels lay out their own rows and scrolled only with the mouse wheel: Effect Controls,
Effects & Presets, the Media Browser, Ease Presets and the Timeline's layer rows had no scroll
bar, Properties and Preview a thin indicator that couldn't be dragged, and Render Queue, History,
Markers, Character, Paragraph and Info didn't scroll at all, so a panel shorter than its content
cut it off. Without a wheel or a working touchpad there was no way down. The Project panel had
the only real scroll bars, hand-rolled, and its vertical one was hit-tested under the rows, so it
only dragged where no row was.
- widgets::scroll_bar: the Project panel's bars generalised (horizontal or vertical, drag the
thumb or press the track to move it there, automation id with "scroll/max"); the Project
panel's two bars and the Timeline's column bar use it, drawn over the rows.
- widgets::PanelScroll: the wheel offset, its clamping and the bar for a panel's own rows, used by
Effect Controls, Properties, Effects & Presets, Media Browser, Ease Presets, Preview, Render
Queue, History (which still follows the current state), Markers, Character, Paragraph and Info.
The Timeline's layer rows get a bar on the right edge.
- Effect Controls: an animated vector's values (a puppet pin's Position) ran under the keyframe
navigator in a narrow panel. They now end before it, moving left over the name, which is cut
short.
Test: ui_scrolling panels_taller_than_their_space_have_a_scroll_bar_to_drag (eleven panels in a
short window: a press on the track and a thumb drag scroll them),
effect_values_stay_clear_of_the_keyframe_navigator.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The menu bar's own menus (Edit has 30 entries) had no scroll area, only their submenus did, so
on a short screen Edit ran past the bottom of the window. The font menu was capped at 420
points and never moved up, the Preview panel's and the viewer's popup lists neither scrolled nor
moved, and the Timeline's Blending Mode and Expression Language submenus didn't scroll. egui's
scroll bars also only appeared while the pointer was over the list, so a list could only be
scrolled with a wheel or touchpad.
- widgets::popup_list: the one popup list behind popup_menu, the font menu, the Preview panel's
dropdowns and the viewer's popups: as tall as the window allows, scrolling beyond, moved up to
fit the window.
- widgets::menu_scroll: the same for menus and submenus (the menu bar's, Blending Mode, the
Expression Language menu, the viewer's Select menu).
- Scroll bars always show (solid scroll style), so they can be dragged.
- A first window that doesn't fit the screen is maximized: the 1680 x 1020 default on a smaller
screen is only shrunk to the monitor's size, so with its title bar it ran under the taskbar and
cut menus off at the bottom of the screen even when they fitted the window.
Test: ui_scrolling a_menu_taller_than_the_window_scrolls (Edit in a 520-point window scrolls
its last entry into view and it takes the click); overflows_screen unit test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>