From fa4e56a32a2abfaaa6cce675807d524182caa080 Mon Sep 17 00:00:00 2001 From: xxSeys1 Date: Mon, 12 May 2025 20:26:33 +0200 Subject: [PATCH] unify zoom behavior when zooming in and out --- Source/Editor/Surface/VisjectSurface.Input.cs | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/Source/Editor/Surface/VisjectSurface.Input.cs b/Source/Editor/Surface/VisjectSurface.Input.cs index e49bbc047..95610b73c 100644 --- a/Source/Editor/Surface/VisjectSurface.Input.cs +++ b/Source/Editor/Surface/VisjectSurface.Input.cs @@ -369,24 +369,14 @@ namespace FlaxEditor.Surface } // Change scale (disable scaling during selecting nodes) - if (IsMouseOver && !_leftMouseDown && !IsPrimaryMenuOpened) + if (IsMouseOver && !_leftMouseDown && !_rightMouseDown && !IsPrimaryMenuOpened) { var nextViewScale = ViewScale + delta * 0.1f; - if (delta > 0 && !_rightMouseDown) - { - // Scale towards mouse when zooming in - var nextCenterPosition = ViewPosition + location / ViewScale; - ViewScale = nextViewScale; - ViewPosition = nextCenterPosition - (location / ViewScale); - } - else - { - // Scale while keeping center position when zooming out or when dragging view - var viewCenter = ViewCenterPosition; - ViewScale = nextViewScale; - ViewCenterPosition = viewCenter; - } + // Scale towards/ away from mouse when zooming in/ out + var nextCenterPosition = ViewPosition + location / ViewScale; + ViewScale = nextViewScale; + ViewPosition = nextCenterPosition - (location / ViewScale); return true; }