Browse Source

Move overlays into a separate folder

Equbuxu 2 years ago
parent
commit
7fea474231
30 changed files with 76 additions and 57 deletions
  1. 1 1
      src/PixiEditor/Models/DocumentModels/Public/DocumentOperationsModule.cs
  2. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Document/DocumentTransformViewModel.cs
  3. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/ShapeTool.cs
  4. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/ToolViewModel.cs
  5. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/BrightnessToolViewModel.cs
  6. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/ColorPickerToolViewModel.cs
  7. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/EraserToolViewModel.cs
  8. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/FloodFillToolViewModel.cs
  9. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/LassoToolViewModel.cs
  10. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/MagicWandToolViewModel.cs
  11. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/MoveToolViewModel.cs
  12. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/MoveViewportToolViewModel.cs
  13. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/PenToolViewModel.cs
  14. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/RotateViewportToolViewModel.cs
  15. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/SelectToolViewModel.cs
  16. 1 1
      src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/ZoomToolViewModel.cs
  17. 0 8
      src/PixiEditor/Views/UserControls/BrushShapeOverlay/BrushShape.cs
  18. 13 0
      src/PixiEditor/Views/UserControls/Overlays/BrushShapeOverlay/BrushShape.cs
  19. 5 1
      src/PixiEditor/Views/UserControls/Overlays/BrushShapeOverlay/BrushShapeOverlay.cs
  20. 5 1
      src/PixiEditor/Views/UserControls/Overlays/SelectionOverlay.cs
  21. 0 0
      src/PixiEditor/Views/UserControls/Overlays/SymmetryOverlay/SymmetryAxisDragInfo.cs
  22. 25 20
      src/PixiEditor/Views/UserControls/Overlays/SymmetryOverlay/SymmetryOverlay.cs
  23. 1 1
      src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/Anchor.cs
  24. 1 1
      src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformCornerFreedom.cs
  25. 1 1
      src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformHelper.cs
  26. 1 1
      src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformOverlay.cs
  27. 1 1
      src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformSideFreedom.cs
  28. 1 1
      src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformState.cs
  29. 1 1
      src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformUpdateHelper.cs
  30. 5 4
      src/PixiEditor/Views/UserControls/Viewport.xaml

+ 1 - 1
src/PixiEditor/Models/DocumentModels/Public/DocumentOperationsModule.cs

@@ -15,7 +15,7 @@ using PixiEditor.Models.Enums;
 using PixiEditor.Models.Position;
 using PixiEditor.Parser;
 using PixiEditor.ViewModels.SubViewModels.Document;
-using PixiEditor.Views.UserControls.TransformOverlay;
+using PixiEditor.Views.UserControls.Overlays.TransformOverlay;
 
 namespace PixiEditor.Models.DocumentModels.Public;
 #nullable enable

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Document/DocumentTransformViewModel.cs

@@ -1,6 +1,6 @@
 using ChunkyImageLib.DataHolders;
 using PixiEditor.Models.Enums;
-using PixiEditor.Views.UserControls.TransformOverlay;
+using PixiEditor.Views.UserControls.Overlays.TransformOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Document;
 #nullable enable

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/ShapeTool.cs

@@ -1,6 +1,6 @@
 using System.Windows.Input;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/ToolViewModel.cs

@@ -6,7 +6,7 @@ using PixiEditor.DrawingApi.Core.Numerics;
 using PixiEditor.Models.DataHolders;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Settings;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/BrightnessToolViewModel.cs

@@ -5,7 +5,7 @@ using PixiEditor.Models.Commands.Attributes.Commands;
 using PixiEditor.Models.Enums;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Settings;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/ColorPickerToolViewModel.cs

@@ -4,7 +4,7 @@ using PixiEditor.DrawingApi.Core.Numerics;
 using PixiEditor.Models.Commands.Attributes.Commands;
 using PixiEditor.Models.Enums;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/EraserToolViewModel.cs

@@ -3,7 +3,7 @@ using ChunkyImageLib.DataHolders;
 using PixiEditor.DrawingApi.Core.Numerics;
 using PixiEditor.Models.Commands.Attributes.Commands;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/FloodFillToolViewModel.cs

@@ -2,7 +2,7 @@
 using ChunkyImageLib.DataHolders;
 using PixiEditor.DrawingApi.Core.Numerics;
 using PixiEditor.Models.Commands.Attributes.Commands;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/LassoToolViewModel.cs

@@ -3,7 +3,7 @@ using PixiEditor.ChangeableDocument.Enums;
 using PixiEditor.DrawingApi.Core.Numerics;
 using PixiEditor.Models.Commands.Attributes.Commands;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/MagicWandToolViewModel.cs

@@ -4,7 +4,7 @@ using PixiEditor.DrawingApi.Core.Numerics;
 using PixiEditor.Models.Commands.Attributes.Commands;
 using PixiEditor.Models.Enums;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/MoveToolViewModel.cs

@@ -3,7 +3,7 @@ using ChunkyImageLib.DataHolders;
 using PixiEditor.DrawingApi.Core.Numerics;
 using PixiEditor.Models.Commands.Attributes.Commands;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/MoveViewportToolViewModel.cs

@@ -1,6 +1,6 @@
 using System.Windows.Input;
 using PixiEditor.Models.Commands.Attributes.Commands;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/PenToolViewModel.cs

@@ -5,7 +5,7 @@ using PixiEditor.DrawingApi.Core.Numerics;
 using PixiEditor.Models.Commands.Attributes.Commands;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Settings;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools
 {

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/RotateViewportToolViewModel.cs

@@ -5,7 +5,7 @@ using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Input;
 using PixiEditor.Models.Commands.Attributes.Commands;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/SelectToolViewModel.cs

@@ -5,7 +5,7 @@ using PixiEditor.DrawingApi.Core.Numerics;
 using PixiEditor.Models.Commands.Attributes.Commands;
 using PixiEditor.Models.Enums;
 using PixiEditor.ViewModels.SubViewModels.Tools.ToolSettings.Toolbars;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 1 - 1
src/PixiEditor/ViewModels/SubViewModels/Tools/Tools/ZoomToolViewModel.cs

@@ -1,6 +1,6 @@
 using System.Windows.Input;
 using PixiEditor.Models.Commands.Attributes.Commands;
-using PixiEditor.Views.UserControls.BrushShapeOverlay;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
 namespace PixiEditor.ViewModels.SubViewModels.Tools.Tools;
 

+ 0 - 8
src/PixiEditor/Views/UserControls/BrushShapeOverlay/BrushShape.cs

@@ -1,8 +0,0 @@
-namespace PixiEditor.Views.UserControls.BrushShapeOverlay;
-internal enum BrushShape
-{
-    Hidden,
-    Pixel,
-    Square,
-    Circle
-}

+ 13 - 0
src/PixiEditor/Views/UserControls/Overlays/BrushShapeOverlay/BrushShape.cs

@@ -0,0 +1,13 @@
+using PixiEditor;
+using PixiEditor.Views;
+using PixiEditor.Views.UserControls;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
+
+namespace PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
+internal enum BrushShape
+{
+    Hidden,
+    Pixel,
+    Square,
+    Circle
+}

+ 5 - 1
src/PixiEditor/Views/UserControls/BrushShapeOverlay/BrushShapeOverlay.cs → src/PixiEditor/Views/UserControls/Overlays/BrushShapeOverlay/BrushShapeOverlay.cs

@@ -4,9 +4,13 @@ using System.Windows.Input;
 using System.Windows.Media;
 using ChunkyImageLib.DataHolders;
 using ChunkyImageLib.Operations;
+using PixiEditor;
 using PixiEditor.DrawingApi.Core.Numerics;
+using PixiEditor.Views;
+using PixiEditor.Views.UserControls;
+using PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 
-namespace PixiEditor.Views.UserControls.BrushShapeOverlay;
+namespace PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay;
 #nullable enable
 internal class BrushShapeOverlay : Control
 {

+ 5 - 1
src/PixiEditor/Views/UserControls/SelectionOverlay.cs → src/PixiEditor/Views/UserControls/Overlays/SelectionOverlay.cs

@@ -2,9 +2,13 @@
 using System.Windows.Controls;
 using System.Windows.Media;
 using System.Windows.Media.Animation;
+using PixiEditor;
 using PixiEditor.DrawingApi.Core.Surface.Vector;
+using PixiEditor.Views;
+using PixiEditor.Views.UserControls;
+using PixiEditor.Views.UserControls.Overlays;
 
-namespace PixiEditor.Views.UserControls;
+namespace PixiEditor.Views.UserControls.Overlays;
 #nullable enable
 internal class SelectionOverlay : Control
 {

+ 0 - 0
src/PixiEditor/Views/UserControls/SymmetryOverlay/SymmetryAxisDragInfo.cs → src/PixiEditor/Views/UserControls/Overlays/SymmetryOverlay/SymmetryAxisDragInfo.cs


+ 25 - 20
src/PixiEditor/Views/UserControls/SymmetryOverlay/SymmetryOverlay.cs → src/PixiEditor/Views/UserControls/Overlays/SymmetryOverlay/SymmetryOverlay.cs

@@ -4,10 +4,15 @@ using System.Windows.Controls;
 using System.Windows.Input;
 using System.Windows.Media;
 using ChunkyImageLib.DataHolders;
+using PixiEditor;
 using PixiEditor.ChangeableDocument.Enums;
 using PixiEditor.DrawingApi.Core.Numerics;
+using PixiEditor.Views;
+using PixiEditor.Views.UserControls;
+using PixiEditor.Views.UserControls.Overlays.SymmetryOverlay;
+using PixiEditor.Views.UserControls.SymmetryOverlay;
 
-namespace PixiEditor.Views.UserControls.SymmetryOverlay;
+namespace PixiEditor.Views.UserControls.Overlays.SymmetryOverlay;
 #nullable enable
 internal class SymmetryOverlay : Control
 {
@@ -107,7 +112,7 @@ internal class SymmetryOverlay : Control
     private Pen checkerWhite = new(new SolidColorBrush(Color.FromRgb(100, 100, 100)), 1.0) { DashStyle = new DashStyle(new[] { DashWidth, DashWidth }, DashWidth) };
 
     private double PenThickness => 1.0 / ZoomboxScale;
-    
+
     private int horizontalAxisY;
     private int verticalAxisX;
 
@@ -121,7 +126,7 @@ internal class SymmetryOverlay : Control
         checkerBlack.Thickness = PenThickness;
         checkerWhite.Thickness = PenThickness;
         rulerPen.Thickness = PenThickness;
-        
+
         handleGeometry.Transform = new ScaleTransform(HandleSize / ZoomboxScale, HandleSize / ZoomboxScale);
 
         if (HorizontalAxisVisible)
@@ -138,7 +143,7 @@ internal class SymmetryOverlay : Control
                     DrawHorizontalRuler(drawingContext, true);
                 }
             }
-            
+
             drawingContext.PushTransform(new TranslateTransform(0, horizontalAxisY));
             drawingContext.DrawGeometry(handleFill, borderPen, handleGeometry);
             drawingContext.PushTransform(new RotateTransform(180, ActualWidth / 2, 0));
@@ -162,7 +167,7 @@ internal class SymmetryOverlay : Control
                     DrawVerticalRuler(drawingContext, true);
                 }
             }
-            
+
             drawingContext.PushTransform(new RotateTransform(90));
             drawingContext.PushTransform(new TranslateTransform(0, -verticalAxisX));
             drawingContext.DrawGeometry(handleFill, borderPen, handleGeometry);
@@ -181,18 +186,18 @@ internal class SymmetryOverlay : Control
         double start = upper ? RenderSize.Height : 0;
         bool drawRight = Mouse.GetPosition(this).X > RenderSize.Width / 2;
         double xOffset = drawRight ? RenderSize.Width - RulerOffset * PenThickness * 2 : 0;
-        
+
         drawingContext.DrawLine(rulerPen, new Point(RulerOffset * PenThickness + xOffset, start), new Point(RulerOffset * PenThickness + xOffset, horizontalAxisY));
         drawingContext.DrawLine(rulerPen, new Point((RulerOffset - RulerWidth) * PenThickness + xOffset, start), new Point((RulerOffset + RulerWidth) * PenThickness + xOffset, start));
         drawingContext.DrawLine(rulerPen, new Point((RulerOffset - RulerWidth) * PenThickness + xOffset, horizontalAxisY), new Point((RulerOffset + RulerWidth) * PenThickness + xOffset, horizontalAxisY));
 
-        string text = upper ? $"{start - horizontalAxisY}px ({(start - horizontalAxisY) / RenderSize.Height * 100:F1}%)" : $"{horizontalAxisY}px ({(horizontalAxisY) / RenderSize.Height * 100:F1}%)";
-        
+        string text = upper ? $"{start - horizontalAxisY}px ({(start - horizontalAxisY) / RenderSize.Height * 100:F1}%)" : $"{horizontalAxisY}px ({horizontalAxisY / RenderSize.Height * 100:F1}%)";
+
         var formattedText = new FormattedText(text, CultureInfo.GetCultureInfo("en-us"),
             FlowDirection.LeftToRight, new Typeface("Segeo UI"), 14.0 / ZoomboxScale, Brushes.White,
             VisualTreeHelper.GetDpi(this).PixelsPerDip);
 
-        if (ActualHeight < formattedText.Height * 2.5 || (horizontalAxisY == (int)RenderSize.Height && upper) || (horizontalAxisY == 0 && !upper))
+        if (ActualHeight < formattedText.Height * 2.5 || horizontalAxisY == (int)RenderSize.Height && upper || horizontalAxisY == 0 && !upper)
         {
             return;
         }
@@ -205,7 +210,7 @@ internal class SymmetryOverlay : Control
         {
             textY += RenderSize.Height / 2;
         }
-        
+
         drawingContext.DrawText(formattedText, new Point(RulerOffset * PenThickness - (drawRight ? -1 : 1) + xOffset, textY));
     }
 
@@ -219,13 +224,13 @@ internal class SymmetryOverlay : Control
         drawingContext.DrawLine(rulerPen, new Point(start, (RulerOffset - RulerWidth) * PenThickness + yOffset), new Point(start, (RulerOffset + RulerWidth) * PenThickness + yOffset));
         drawingContext.DrawLine(rulerPen, new Point(verticalAxisX, (RulerOffset - RulerWidth) * PenThickness + yOffset), new Point(verticalAxisX, (RulerOffset + RulerWidth) * PenThickness + yOffset));
 
-        string text = right ? $"{start - verticalAxisX}px ({(start - verticalAxisX) / RenderSize.Width * 100:F1}%)" : $"{verticalAxisX}px ({(verticalAxisX) / RenderSize.Width * 100:F1}%)";
-        
+        string text = right ? $"{start - verticalAxisX}px ({(start - verticalAxisX) / RenderSize.Width * 100:F1}%)" : $"{verticalAxisX}px ({verticalAxisX / RenderSize.Width * 100:F1}%)";
+
         var formattedText = new FormattedText(text, CultureInfo.GetCultureInfo("en-us"),
             FlowDirection.LeftToRight, new Typeface("Segeo UI"), 14.0 / ZoomboxScale, Brushes.White,
             VisualTreeHelper.GetDpi(this).PixelsPerDip);
 
-        if (ActualWidth < formattedText.Width * 2.5 || (verticalAxisX == (int)RenderSize.Width && right) || (verticalAxisX == 0 && !right))
+        if (ActualWidth < formattedText.Width * 2.5 || verticalAxisX == (int)RenderSize.Width && right || verticalAxisX == 0 && !right)
         {
             return;
         }
@@ -238,7 +243,7 @@ internal class SymmetryOverlay : Control
         {
             textX += RenderSize.Width / 2;
         }
-        
+
         drawingContext.DrawText(formattedText, new Point(textX, RulerOffset * PenThickness - (drawBottom ? -0.7 : 0.3 + formattedText.Height) + yOffset));
     }
 
@@ -282,11 +287,11 @@ internal class SymmetryOverlay : Control
 
         if (hoveredDirection == direction)
             return;
-        
+
         hoveredDirection = direction;
         InvalidateVisual();
     }
-    
+
     protected override void OnMouseDown(MouseButtonEventArgs e)
     {
         base.OnMouseDown(e);
@@ -341,7 +346,7 @@ internal class SymmetryOverlay : Control
 
         if (capturedDirection is null)
             return;
-        
+
         ReleaseMouseCapture();
 
         CallSymmetryDragEndCommand((SymmetryAxisDirection)capturedDirection);
@@ -356,7 +361,7 @@ internal class SymmetryOverlay : Control
     protected override void OnMouseMove(MouseEventArgs e)
     {
         base.OnMouseMove(e);
-        
+
         var pos = ToVecD(e.GetPosition(this));
         UpdateHovered(IsTouchingHandle(pos));
 
@@ -370,13 +375,13 @@ internal class SymmetryOverlay : Control
             {
                 horizontalAxisY = (int)(Math.Round(horizontalAxisY / RenderSize.Height * 8) / 8 * RenderSize.Height);
             }
-            
+
             CallSymmetryDragCommand((SymmetryAxisDirection)capturedDirection, horizontalAxisY);
         }
         else if (capturedDirection == SymmetryAxisDirection.Vertical)
         {
             verticalAxisX = (int)Math.Round(Math.Clamp(pos.X, 0, ActualWidth));
-            
+
             if (Keyboard.IsKeyDown(Key.LeftShift))
             {
                 verticalAxisX = (int)(Math.Round(verticalAxisX / RenderSize.Width * 8) / 8 * RenderSize.Width);

+ 1 - 1
src/PixiEditor/Views/UserControls/TransformOverlay/Anchor.cs → src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/Anchor.cs

@@ -1,4 +1,4 @@
-namespace PixiEditor.Views.UserControls.TransformOverlay;
+namespace PixiEditor.Views.UserControls.Overlays.TransformOverlay;
 #nullable enable
 internal enum Anchor
 {

+ 1 - 1
src/PixiEditor/Views/UserControls/TransformOverlay/TransformCornerFreedom.cs → src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformCornerFreedom.cs

@@ -1,4 +1,4 @@
-namespace PixiEditor.Views.UserControls.TransformOverlay;
+namespace PixiEditor.Views.UserControls.Overlays.TransformOverlay;
 #nullable enable
 internal enum TransformCornerFreedom
 {

+ 1 - 1
src/PixiEditor/Views/UserControls/TransformOverlay/TransformHelper.cs → src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformHelper.cs

@@ -5,7 +5,7 @@ using PixiEditor.DrawingApi.Core.Numerics;
 
 #nullable enable
 
-namespace PixiEditor.Views.UserControls.TransformOverlay;
+namespace PixiEditor.Views.UserControls.Overlays.TransformOverlay;
 internal static class TransformHelper
 {
     public const double AnchorSize = 10;

+ 1 - 1
src/PixiEditor/Views/UserControls/TransformOverlay/TransformOverlay.cs → src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformOverlay.cs

@@ -5,7 +5,7 @@ using System.Windows.Media;
 using ChunkyImageLib.DataHolders;
 using PixiEditor.DrawingApi.Core.Numerics;
 
-namespace PixiEditor.Views.UserControls.TransformOverlay;
+namespace PixiEditor.Views.UserControls.Overlays.TransformOverlay;
 #nullable enable
 internal class TransformOverlay : Decorator
 {

+ 1 - 1
src/PixiEditor/Views/UserControls/TransformOverlay/TransformSideFreedom.cs → src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformSideFreedom.cs

@@ -1,4 +1,4 @@
-namespace PixiEditor.Views.UserControls.TransformOverlay;
+namespace PixiEditor.Views.UserControls.Overlays.TransformOverlay;
 #nullable enable
 internal enum TransformSideFreedom
 {

+ 1 - 1
src/PixiEditor/Views/UserControls/TransformOverlay/TransformState.cs → src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformState.cs

@@ -2,7 +2,7 @@
 using PixiEditor.DrawingApi.Core.Numerics;
 
 #nullable enable
-namespace PixiEditor.Views.UserControls.TransformOverlay;
+namespace PixiEditor.Views.UserControls.Overlays.TransformOverlay;
 internal struct TransformState
 {
     public bool OriginWasManuallyDragged { get; set; }

+ 1 - 1
src/PixiEditor/Views/UserControls/TransformOverlay/TransformUpdateHelper.cs → src/PixiEditor/Views/UserControls/Overlays/TransformOverlay/TransformUpdateHelper.cs

@@ -1,7 +1,7 @@
 using ChunkyImageLib.DataHolders;
 using PixiEditor.DrawingApi.Core.Numerics;
 
-namespace PixiEditor.Views.UserControls.TransformOverlay;
+namespace PixiEditor.Views.UserControls.Overlays.TransformOverlay;
 #nullable enable
 internal static class TransformUpdateHelper
 {

+ 5 - 4
src/PixiEditor/Views/UserControls/Viewport.xaml

@@ -8,10 +8,11 @@
     xmlns:local="clr-namespace:PixiEditor.Views.UserControls"
     xmlns:zoombox="clr-namespace:PixiEditor.Zoombox;assembly=PixiEditor.Zoombox"
     xmlns:sys="clr-namespace:System;assembly=System.Runtime"
-    xmlns:to="clr-namespace:PixiEditor.Views.UserControls.TransformOverlay"
+    xmlns:to="clr-namespace:PixiEditor.Views.UserControls.Overlays.TransformOverlay"
     xmlns:uc="clr-namespace:PixiEditor.Views.UserControls"
-    xmlns:sym="clr-namespace:PixiEditor.Views.UserControls.SymmetryOverlay"
-    xmlns:brush="clr-namespace:PixiEditor.Views.UserControls.BrushShapeOverlay"
+    xmlns:ov="clr-namespace:PixiEditor.Views.UserControls.Overlays"
+    xmlns:sym="clr-namespace:PixiEditor.Views.UserControls.Overlays.SymmetryOverlay"
+    xmlns:brush="clr-namespace:PixiEditor.Views.UserControls.Overlays.BrushShapeOverlay"
     xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
     xmlns:vm="clr-namespace:PixiEditor.ViewModels"
     xmlns:converters="clr-namespace:PixiEditor.Helpers.Converters"
@@ -180,7 +181,7 @@
                         DragCommand="{cmds:Command PixiEditor.Document.DragSymmetry, UseProvided=True}"
                         DragEndCommand="{cmds:Command PixiEditor.Document.EndDragSymmetry, UseProvided=True}" 
                         DragStartCommand="{cmds:Command PixiEditor.Document.StartDragSymmetry, UseProvided=True}" />
-                    <uc:SelectionOverlay
+                    <ov:SelectionOverlay
                         ShowFill="{Binding ToolsSubViewModel.ActiveTool, Source={vm:MainVM}, Converter={converters:IsSelectionToolConverter}}"
                         Path="{Binding Document.SelectionPathBindable}"
                         ZoomboxScale="{Binding Zoombox.Scale}" />