Add icon rendering and list scroll gesture support

Implement orientation-aware icon rendering using freeink::Icon format that applies rotation transforms per-pixel. Add wasListScroll helper for touch-based list navigation with swipe gestures. Switch vertical centering from x-height to cap-height for better visual alignment with capital-led UI labels.
This commit is contained in:
Justin Mitchell
2026-06-15 23:37:49 -04:00
parent e103cdfd11
commit 4a5b45409f
20 changed files with 339 additions and 96 deletions
+4 -4
View File
@@ -50,10 +50,10 @@ ThemeMetrics scaleThemeMetrics(const ThemeMetrics& b, float s) {
m.homeMenuTopOffset = sp(b.homeMenuTopOffset, s);
m.buttonHintsHeight = sp(b.buttonHintsHeight, s);
m.sideButtonHintsWidth = sp(b.sideButtonHintsWidth, s);
m.progressBarHeight = sp(b.progressBarHeight, s);
m.progressBarMarginTop = sp(b.progressBarMarginTop, s);
m.statusBarHorizontalMargin = sp(b.statusBarHorizontalMargin, s);
m.statusBarVerticalMargin = sp(b.statusBarVerticalMargin, s);
// Status-bar metrics are intentionally NOT scaled: it's compact reader chrome
// (with the un-remapped SMALL font), and scaling it would eat reading area and
// bloat the customise-status-bar preview. progressBarHeight / progressBarMarginTop
// / statusBar*Margin keep their base values.
m.keyboardKeyWidth = sp(b.keyboardKeyWidth, s);
m.keyboardKeyHeight = sp(b.keyboardKeyHeight, s);
m.keyboardKeySpacing = sp(b.keyboardKeySpacing, s);