From 069cebea3ffefa561322755467e5a67f9310a5ca Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Wed, 8 Jan 2025 11:32:07 +0800 Subject: [PATCH] feat!: use raw pointer scale (>1 meaning zoom in, <1 meaning zoom out) rather than binary -1/1 for DelegateInputHandler --- .../src/input/src/delegate_input_handler.dart | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/thermion_dart/lib/src/input/src/delegate_input_handler.dart b/thermion_dart/lib/src/input/src/delegate_input_handler.dart index e100152f..264beb9a 100644 --- a/thermion_dart/lib/src/input/src/delegate_input_handler.dart +++ b/thermion_dart/lib/src/input/src/delegate_input_handler.dart @@ -269,7 +269,6 @@ class DelegateInputHandler implements InputHandler { // noop } - double? _lastScale; @override Future onScaleUpdate( @@ -284,21 +283,8 @@ class DelegateInputHandler implements InputHandler { if (pointerCount == 1) { _inputDeltas[InputType.SCALE1] = Vector3(focalPointDelta.x, focalPointDelta.y, 0); - } else if (pointerCount == 2) { - var zoomDelta = 0.0; - if (_lastScale == null) { - if (scale < 0) { - zoomDelta = 1; - } else if (scale > 0) { - zoomDelta = -1; - } - _lastScale = scale; - } else { - zoomDelta = scale < _lastScale! ? 1 : -1; - _lastScale = scale; - } - - _inputDeltas[InputType.SCALE2] = Vector3(0, 0, zoomDelta); + } else if (pointerCount == 2) { + _inputDeltas[InputType.SCALE2] = Vector3(0, 0, scale); } else { throw UnimplementedError("Only pointerCount <= 2 supported"); }