Browse Source

Fixed single click not firing sometimes

Krzysztof Krysiński 3 years ago
parent
commit
b0d9880779

+ 1 - 4
PixiEditor/Models/Controllers/BitmapOperationsUtility.cs

@@ -15,7 +15,6 @@ namespace PixiEditor.Models.Controllers
     {
     {
         private SKPaint BlendingPaint { get; } = new SKPaint() { BlendMode = SKBlendMode.SrcOver };
         private SKPaint BlendingPaint { get; } = new SKPaint() { BlendMode = SKBlendMode.SrcOver };
 
 
-        private Coordinates lastMousePos;
 
 
         private SizeSetting sizeSetting;
         private SizeSetting sizeSetting;
 
 
@@ -67,8 +66,6 @@ namespace PixiEditor.Models.Controllers
                 }
                 }
 
 
                 UseTool(mouseMove, tool, Manager.PrimaryColor);
                 UseTool(mouseMove, tool, Manager.PrimaryColor);
-
-                lastMousePos = newPos;
             }
             }
         }
         }
 
 
@@ -214,7 +211,7 @@ namespace PixiEditor.Models.Controllers
 
 
         private void UseToolOnPreviewLayer(List<Coordinates> mouseMove, bool clearPreviewLayer = true)
         private void UseToolOnPreviewLayer(List<Coordinates> mouseMove, bool clearPreviewLayer = true)
         {
         {
-            if (mouseMove.Count > 0 && mouseMove[0] != lastMousePos)
+            if (mouseMove.Count > 0)
             {
             {
                 if (clearPreviewLayer)
                 if (clearPreviewLayer)
                 {
                 {

+ 10 - 7
PixiEditor/ViewModels/SubViewModels/Main/IoViewModel.cs

@@ -1,4 +1,5 @@
 using PixiEditor.Helpers;
 using PixiEditor.Helpers;
+using PixiEditor.Models.Controllers;
 using PixiEditor.Models.Controllers.Shortcuts;
 using PixiEditor.Models.Controllers.Shortcuts;
 using PixiEditor.Models.Position;
 using PixiEditor.Models.Position;
 using System;
 using System;
@@ -64,14 +65,16 @@ namespace PixiEditor.ViewModels.SubViewModels.Main
 
 
             if (Mouse.LeftButton == MouseButtonState.Pressed)
             if (Mouse.LeftButton == MouseButtonState.Pressed)
             {
             {
-                if (!Owner.BitmapManager.MouseController.IsRecordingChanges)
+                BitmapManager bitmapManager = Owner.BitmapManager;
+                var activeDocument = bitmapManager.ActiveDocument;
+                if (!bitmapManager.MouseController.IsRecordingChanges)
                 {
                 {
-                    bool clickedOnCanvas = Owner.BitmapManager.ActiveDocument.MouseXOnCanvas >= 0 &&
-                        Owner.BitmapManager.ActiveDocument.MouseXOnCanvas <= Owner.BitmapManager.ActiveDocument.Width &&
-                        Owner.BitmapManager.ActiveDocument.MouseYOnCanvas >= 0 &&
-                        Owner.BitmapManager.ActiveDocument.MouseYOnCanvas <= Owner.BitmapManager.ActiveDocument.Height;
-                    Owner.BitmapManager.MouseController.StartRecordingMouseMovementChanges(clickedOnCanvas);
-                    Owner.BitmapManager.MouseController.RecordMouseMovementChange(MousePositionConverter.CurrentCoordinates);
+                    bool clickedOnCanvas = activeDocument.MouseXOnCanvas >= 0 &&
+                        activeDocument.MouseXOnCanvas <= activeDocument.Width &&
+                        activeDocument.MouseYOnCanvas >= 0 &&
+                        activeDocument.MouseYOnCanvas <= activeDocument.Height;
+                    bitmapManager.MouseController.StartRecordingMouseMovementChanges(clickedOnCanvas);
+                    bitmapManager.MouseController.RecordMouseMovementChange(MousePositionConverter.CurrentCoordinates);
                 }
                 }
             }
             }