Fixed HUD and menu position and scaling in hardware renderer

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-03-19 19:25:24 +01:00
parent c8cd2cb144
commit 3e091c3d5d
6 changed files with 136 additions and 53 deletions

View File

@@ -94,10 +94,15 @@ class _GameScreenState extends State<GameScreen> {
Focus(
autofocus: true,
onKeyEvent: (node, event) {
if (event is KeyDownEvent &&
event.logicalKey == LogicalKeyboardKey.tab) {
setState(_cycleRendererMode);
return KeyEventResult.handled;
if (event is KeyDownEvent) {
if (event.logicalKey == LogicalKeyboardKey.tab) {
setState(_cycleRendererMode);
return KeyEventResult.handled;
}
if (event.logicalKey == LogicalKeyboardKey.backquote) {
setState(_toggleFpsCounter);
return KeyEventResult.handled;
}
}
return KeyEventResult.ignored;
},
@@ -118,7 +123,7 @@ class _GameScreenState extends State<GameScreen> {
top: 16,
right: 16,
child: Text(
'TAB: ${_modeLabel(_rendererMode)}',
'TAB: ${_modeLabel(_rendererMode)} `: FPS ${_engine.showFpsCounter ? 'On' : 'Off'}',
style: TextStyle(
color: Colors.white.withValues(alpha: 0.5),
),
@@ -172,6 +177,10 @@ class _GameScreenState extends State<GameScreen> {
});
}
void _toggleFpsCounter() {
_engine.showFpsCounter = !_engine.showFpsCounter;
}
String _modeLabel(_RendererMode mode) {
switch (mode) {
case _RendererMode.software: