From ab18382e0d977debcc90554378584d1ae64f1a16 Mon Sep 17 00:00:00 2001 From: BCM28 <67971702+BCM28@users.noreply.github.com> Date: Mon, 6 Nov 2023 23:38:41 +0000 Subject: [PATCH] Update EnvironmentController.js slightly improved zooming --- src/Controllers/EnvironmentController.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Controllers/EnvironmentController.js b/src/Controllers/EnvironmentController.js index b3e1b82..bc30e45 100644 --- a/src/Controllers/EnvironmentController.js +++ b/src/Controllers/EnvironmentController.js @@ -23,10 +23,13 @@ class EnvironmentController extends CanvasController{ el.onwheel = function zoom(event) { event.preventDefault(); - var sign = -Math.sign(event.deltaY); - - // Restrict scale - scale = Math.min(50, this.scale+(sign*zoom_speed*this.scale)); + var sign = Math.sign(event.deltaY); + + // Update the scale by multiplying it with the zoom speed raised to the power of the scroll direction (positive or negative) + scale *= Math.pow(zoom_speed, sign); + + // Make sure the scale doesn't go below a minimum value or above a maximum value + scale = Math.min(64, Math.max(Math.pow(2, -10), scale)); var cur_top = parseInt($('#env-canvas').css('top')); var cur_left = parseInt($('#env-canvas').css('left'));