feat: Refactor renderer key event handling and disable FPS counter by default
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
@@ -10,9 +10,13 @@ abstract class BaseWolfRenderer extends StatefulWidget {
|
||||
/// Engine instance that owns world state and the shared framebuffer.
|
||||
final WolfEngine engine;
|
||||
|
||||
/// Optional key handler invoked by the focused renderer shell.
|
||||
final void Function(KeyEvent event)? onKeyEvent;
|
||||
|
||||
/// Creates a renderer bound to [engine].
|
||||
const BaseWolfRenderer({
|
||||
required this.engine,
|
||||
this.onKeyEvent,
|
||||
super.key,
|
||||
});
|
||||
}
|
||||
@@ -75,7 +79,9 @@ abstract class BaseWolfRendererState<T extends BaseWolfRenderer>
|
||||
body: KeyboardListener(
|
||||
focusNode: focusNode,
|
||||
autofocus: true,
|
||||
onKeyEvent: (_) {},
|
||||
onKeyEvent: (event) {
|
||||
widget.onKeyEvent?.call(event);
|
||||
},
|
||||
child: Center(
|
||||
child: buildViewport(context),
|
||||
),
|
||||
|
||||
@@ -10,6 +10,7 @@ class WolfAsciiRenderer extends BaseWolfRenderer {
|
||||
/// Creates an ASCII renderer bound to [engine].
|
||||
const WolfAsciiRenderer({
|
||||
required super.engine,
|
||||
super.onKeyEvent,
|
||||
super.key,
|
||||
});
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ class WolfFlutterRenderer extends BaseWolfRenderer {
|
||||
/// Creates a pixel renderer bound to [engine].
|
||||
const WolfFlutterRenderer({
|
||||
required super.engine,
|
||||
super.onKeyEvent,
|
||||
super.key,
|
||||
});
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ class WolfGlslRenderer extends BaseWolfRenderer {
|
||||
/// Creates a GLSL renderer bound to [engine].
|
||||
const WolfGlslRenderer({
|
||||
required super.engine,
|
||||
super.onKeyEvent,
|
||||
this.onUnavailable,
|
||||
super.key,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user