mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-26 23:08:11 +00:00
The popup menu used fixed pixel constants (box width, item height, text positions) sized for the OLED 128x64. On landscape e-ink the font is ~2x, so rows overlapped, text ran past the box edge, and the box never adapted to its contents. Rebuild render() from live font metrics: box width fits the widest title/item (clamped to the screen, centred), row height and title bar derive from the line height, items and title are ellipsized so nothing overflows, and the scroll arrows live in a reserved gutter. The title separator uses the scaled sepH() with a 2px gap before the first row so content no longer touches the line. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>