From 0b1da2a15d5ca502418588ff736b0f815f2acaf7 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 32b35622..72382eee 100644 --- a/thermion_dart/lib/src/input/src/delegate_input_handler.dart +++ b/thermion_dart/lib/src/input/src/delegate_input_handler.dart @@ -278,7 +278,6 @@ class DelegateInputHandler implements InputHandler { // noop } - double? _lastScale; @override Future onScaleUpdate( @@ -293,21 +292,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"); }