From 0a516ac98d86464eef859a3752a57601a7cf2a65 Mon Sep 17 00:00:00 2001 From: xxSeys1 Date: Sat, 14 Sep 2024 15:33:07 +0200 Subject: [PATCH 1/2] make it possible to pan editor when rmb down on node --- Source/Editor/Surface/SurfaceNode.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/Editor/Surface/SurfaceNode.cs b/Source/Editor/Surface/SurfaceNode.cs index c5c011db0..09ab04c8a 100644 --- a/Source/Editor/Surface/SurfaceNode.cs +++ b/Source/Editor/Surface/SurfaceNode.cs @@ -146,6 +146,8 @@ namespace FlaxEditor.Surface /// protected virtual Color FooterColor => GroupArchetype.Color; + private Float2 mouseDownMousePosition; + /// /// Calculates the size of the node including header, footer, and margins. /// @@ -1093,7 +1095,7 @@ namespace FlaxEditor.Surface if (button == MouseButton.Left && (Archetype.Flags & NodeFlags.NoCloseButton) == 0 && _closeButtonRect.Contains(ref location)) return true; if (button == MouseButton.Right) - return true; + mouseDownMousePosition = Input.Mouse.Position; return false; } @@ -1114,6 +1116,9 @@ namespace FlaxEditor.Surface // Secondary Context Menu if (button == MouseButton.Right) { + if (mouseDownMousePosition != Input.Mouse.Position) + return true; + if (!IsSelected) Surface.Select(this); var tmp = PointToParent(ref location); From e665cc75003022173fd1cbdc78361e7397f5d31f Mon Sep 17 00:00:00 2001 From: xxSeys1 Date: Mon, 16 Sep 2024 15:43:46 +0200 Subject: [PATCH 2/2] add safe margin 4 pixels seemed a bit much, smaller adjustments could lead to the menu still showing --- Source/Editor/Surface/SurfaceNode.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Editor/Surface/SurfaceNode.cs b/Source/Editor/Surface/SurfaceNode.cs index 09ab04c8a..f763eceb5 100644 --- a/Source/Editor/Surface/SurfaceNode.cs +++ b/Source/Editor/Surface/SurfaceNode.cs @@ -1116,7 +1116,8 @@ namespace FlaxEditor.Surface // Secondary Context Menu if (button == MouseButton.Right) { - if (mouseDownMousePosition != Input.Mouse.Position) + float distance = Float2.Distance(mouseDownMousePosition, Input.Mouse.Position); + if (distance > 2.5f) return true; if (!IsSelected)