mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-01 12:45:56 +00:00
The panel was fixed at OverlayMetrics::Columns, 27 columns, and always kept rows for the frame-time graph. OverlayContent now carries its column count and whether it has a graph, and the panel's width, height, fit test and scale come from them. ComposeOverlay still fills 27 columns with a graph, so the existing panel is drawn as before, line for line. LayOutOverlay refuses a panel with no columns, a graph on a panel narrower than its 120 frames, and frame times on a panel without a graph. The 5x7 font gains %, +, -, _, J, Q, Y and Z, from the same HD44780 character set as its other glyphs, and OverlayFontCharacters lists every character it can draw. Tests: every listed character has a glyph no wider than 5 pixels, non-empty unless it is the space, and unlike any other; characters outside the list are refused; a 48-column panel without a graph is laid out and scaled at 1280x720, 1920x1080, 3840x2160 and 320x180; a 140-column panel at 3840x2160 shrinks from scale 5 to 4; a too-long line, a 20-column graph and frame times without a graph are refused.