rename gestureHandler to inputHandler

This commit is contained in:
Nick Fisher
2024-10-22 22:23:13 +08:00
parent fdbdc8e3f3
commit a08620d7c9
3 changed files with 21 additions and 22 deletions

View File

@@ -2,6 +2,6 @@ library;
export 'src/input_handler.dart'; export 'src/input_handler.dart';
export 'src/delegates.dart'; export 'src/delegates.dart';
export 'src/delegate_gesture_handler.dart'; export 'src/delegate_input_handler.dart';
export 'src/implementations/default_pick_delegate.dart'; export 'src/implementations/default_pick_delegate.dart';
export 'src/implementations/third_person_camera_delegate.dart'; export 'src/implementations/third_person_camera_delegate.dart';

View File

@@ -63,18 +63,17 @@ class DelegateInputHandler implements InputHandler {
factory DelegateInputHandler.fixedOrbit(ThermionViewer viewer, factory DelegateInputHandler.fixedOrbit(ThermionViewer viewer,
{double minimumDistance = 10.0, {double minimumDistance = 10.0,
Future<double?> Function(Vector3)? getDistanceToTarget, Vector3? target,
ThermionEntity? entity, ThermionEntity? entity,
PickDelegate? pickDelegate}) => PickDelegate? pickDelegate}) =>
DelegateInputHandler( DelegateInputHandler(
viewer: viewer, viewer: viewer,
pickDelegate: pickDelegate, pickDelegate: pickDelegate,
transformDelegate: FixedOrbitRotateInputHandlerDelegate(viewer, transformDelegate: FixedOrbitRotateInputHandlerDelegate(viewer,
getDistanceToTarget: getDistanceToTarget,
minimumDistance: minimumDistance), minimumDistance: minimumDistance),
actions: { actions: {
InputType.MMB_HOLD_AND_MOVE: InputAction.ROTATE, InputType.MMB_HOLD_AND_MOVE: InputAction.ROTATE,
InputType.SCROLLWHEEL: InputAction.TRANSLATE InputType.SCROLLWHEEL: InputAction.ZOOM
}); });
factory DelegateInputHandler.flight(ThermionViewer viewer, factory DelegateInputHandler.flight(ThermionViewer viewer,

View File

@@ -29,11 +29,11 @@ class ThermionListenerWidget extends StatefulWidget {
/// ///
/// The handler to use for interpreting gestures/pointer movements. /// The handler to use for interpreting gestures/pointer movements.
/// ///
final InputHandler gestureHandler; final InputHandler inputHandler;
const ThermionListenerWidget({ const ThermionListenerWidget({
Key? key, Key? key,
required this.gestureHandler, required this.inputHandler,
this.child, this.child,
}) : super(key: key); }) : super(key: key);
@@ -66,9 +66,9 @@ class _ThermionListenerWidgetState extends State<ThermionListenerWidget> {
} }
if (event is KeyDownEvent || event is KeyRepeatEvent) { if (event is KeyDownEvent || event is KeyRepeatEvent) {
widget.gestureHandler.keyDown(key!); widget.inputHandler.keyDown(key!);
} else if (event is KeyUpEvent) { } else if (event is KeyUpEvent) {
widget.gestureHandler.keyUp(key!); widget.inputHandler.keyUp(key!);
return true; return true;
} }
return false; return false;
@@ -82,12 +82,12 @@ class _ThermionListenerWidgetState extends State<ThermionListenerWidget> {
Widget _desktop(double pixelRatio) { Widget _desktop(double pixelRatio) {
return Listener( return Listener(
onPointerHover: (event) => widget.gestureHandler.onPointerHover( onPointerHover: (event) => widget.inputHandler.onPointerHover(
event.localPosition.toVector2() * pixelRatio, event.localPosition.toVector2() * pixelRatio,
event.delta.toVector2() * pixelRatio), event.delta.toVector2() * pixelRatio),
onPointerSignal: (PointerSignalEvent pointerSignal) { onPointerSignal: (PointerSignalEvent pointerSignal) {
if (pointerSignal is PointerScrollEvent) { if (pointerSignal is PointerScrollEvent) {
widget.gestureHandler.onPointerScroll( widget.inputHandler.onPointerScroll(
pointerSignal.localPosition.toVector2() * pixelRatio, pointerSignal.localPosition.toVector2() * pixelRatio,
pointerSignal.scrollDelta.dy * pixelRatio); pointerSignal.scrollDelta.dy * pixelRatio);
} }
@@ -95,14 +95,14 @@ class _ThermionListenerWidgetState extends State<ThermionListenerWidget> {
onPointerPanZoomStart: (pzs) { onPointerPanZoomStart: (pzs) {
throw Exception("TODO - is this a pinch zoom on laptop trackpad?"); throw Exception("TODO - is this a pinch zoom on laptop trackpad?");
}, },
onPointerDown: (d) => widget.gestureHandler.onPointerDown( onPointerDown: (d) => widget.inputHandler.onPointerDown(
d.localPosition.toVector2() * pixelRatio, d.localPosition.toVector2() * pixelRatio,
d.buttons & kMiddleMouseButton != 0), d.buttons & kMiddleMouseButton != 0),
onPointerMove: (d) => widget.gestureHandler.onPointerMove( onPointerMove: (d) => widget.inputHandler.onPointerMove(
d.localPosition.toVector2() * pixelRatio, d.localPosition.toVector2() * pixelRatio,
d.delta.toVector2() * pixelRatio, d.delta.toVector2() * pixelRatio,
d.buttons & kMiddleMouseButton != 0), d.buttons & kMiddleMouseButton != 0),
onPointerUp: (d) => widget.gestureHandler onPointerUp: (d) => widget.inputHandler
.onPointerUp(d.buttons & kMiddleMouseButton != 0), .onPointerUp(d.buttons & kMiddleMouseButton != 0),
child: widget.child, child: widget.child,
); );
@@ -110,7 +110,7 @@ class _ThermionListenerWidgetState extends State<ThermionListenerWidget> {
Widget _mobile(double pixelRatio) { Widget _mobile(double pixelRatio) {
return _MobileListenerWidget( return _MobileListenerWidget(
gestureHandler: widget.gestureHandler, pixelRatio: pixelRatio, child:widget.child); inputHandler: widget.inputHandler, pixelRatio: pixelRatio, child:widget.child);
} }
@override @override
@@ -118,7 +118,7 @@ class _ThermionListenerWidgetState extends State<ThermionListenerWidget> {
return PixelRatioAware(builder: (ctx, pixelRatio) { return PixelRatioAware(builder: (ctx, pixelRatio) {
return FutureBuilder( return FutureBuilder(
initialData: 1.0, initialData: 1.0,
future: widget.gestureHandler.initialized, future: widget.inputHandler.initialized,
builder: (_, initialized) { builder: (_, initialized) {
if (initialized.data != true) { if (initialized.data != true) {
return widget.child ?? Container(); return widget.child ?? Container();
@@ -133,12 +133,12 @@ class _ThermionListenerWidgetState extends State<ThermionListenerWidget> {
} }
class _MobileListenerWidget extends StatefulWidget { class _MobileListenerWidget extends StatefulWidget {
final InputHandler gestureHandler; final InputHandler inputHandler;
final double pixelRatio; final double pixelRatio;
final Widget? child; final Widget? child;
const _MobileListenerWidget( const _MobileListenerWidget(
{Key? key, required this.gestureHandler, required this.pixelRatio, this.child}) {Key? key, required this.inputHandler, required this.pixelRatio, this.child})
: super(key: key); : super(key: key);
@override @override
@@ -157,18 +157,18 @@ class _MobileListenerWidgetState extends State<_MobileListenerWidget> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
behavior: HitTestBehavior.translucent, behavior: HitTestBehavior.translucent,
onTapDown: (details) => widget.gestureHandler.onPointerDown( onTapDown: (details) => widget.inputHandler.onPointerDown(
details.localPosition.toVector2() * widget.pixelRatio, false), details.localPosition.toVector2() * widget.pixelRatio, false),
onDoubleTap: () { onDoubleTap: () {
widget.gestureHandler.setActionForType(InputType.SCALE1, widget.inputHandler.setActionForType(InputType.SCALE1,
isPan ? InputAction.TRANSLATE : InputAction.ROTATE); isPan ? InputAction.TRANSLATE : InputAction.ROTATE);
}, },
onScaleStart: (details) async { onScaleStart: (details) async {
await widget.gestureHandler.onScaleStart( await widget.inputHandler.onScaleStart(
details.localFocalPoint.toVector2(), details.pointerCount); details.localFocalPoint.toVector2(), details.pointerCount);
}, },
onScaleUpdate: (ScaleUpdateDetails details) async { onScaleUpdate: (ScaleUpdateDetails details) async {
await widget.gestureHandler.onScaleUpdate( await widget.inputHandler.onScaleUpdate(
details.localFocalPoint.toVector2(), details.localFocalPoint.toVector2(),
details.focalPointDelta.toVector2(), details.focalPointDelta.toVector2(),
details.horizontalScale, details.horizontalScale,
@@ -177,7 +177,7 @@ class _MobileListenerWidgetState extends State<_MobileListenerWidget> {
details.pointerCount); details.pointerCount);
}, },
onScaleEnd: (details) async { onScaleEnd: (details) async {
await widget.gestureHandler.onScaleEnd(details.pointerCount); await widget.inputHandler.onScaleEnd(details.pointerCount);
}, },
child: widget.child); child: widget.child);
} }