Browse Source

All shapes are working

Frytek 5 years ago
parent
commit
d84407e001
91 changed files with 161 additions and 39 deletions
  1. 0 0
      PixiEditor/App.xaml
  2. 0 0
      PixiEditor/Helpers/Behaviours/AllowableCharactersTextBoxBehavior.cs
  3. 0 0
      PixiEditor/Helpers/Behaviours/HintTextBehavior.cs
  4. 0 0
      PixiEditor/Helpers/Behaviours/MouseBehaviour.cs
  5. 0 0
      PixiEditor/Helpers/Behaviours/TextBoxNumericFinisherBehavior.cs
  6. 0 0
      PixiEditor/Helpers/Converters/BoolToVisibilityConverter.cs
  7. 0 0
      PixiEditor/Helpers/Converters/ToolSizeToIntConverter.cs
  8. 0 0
      PixiEditor/Helpers/NotifyableObject.cs
  9. 0 0
      PixiEditor/Helpers/RelayCommand.cs
  10. 0 0
      PixiEditor/Images/BucketImage.png
  11. 0 0
      PixiEditor/Images/CircleImage.png
  12. 0 0
      PixiEditor/Images/Cross.png
  13. 0 0
      PixiEditor/Images/EarserImage.png
  14. 0 0
      PixiEditor/Images/LightenImage.png
  15. 0 0
      PixiEditor/Images/LineImage.png
  16. 0 0
      PixiEditor/Images/PenImage.png
  17. 0 0
      PixiEditor/Images/PipetteImage.png
  18. 0 0
      PixiEditor/Images/RectangleImage.png
  19. 0 0
      PixiEditor/Images/transparentbg.png
  20. 0 0
      PixiEditor/Models/Colors/ExColor.cs
  21. 0 0
      PixiEditor/Models/Controllers/BitmapOperationsUtility.cs
  22. 0 0
      PixiEditor/Models/Controllers/MouseMovementController.cs
  23. 0 0
      PixiEditor/Models/Controllers/UndoManager.cs
  24. 0 0
      PixiEditor/Models/DataHolders/Change.cs
  25. 0 0
      PixiEditor/Models/DataHolders/StackEx.cs
  26. 0 0
      PixiEditor/Models/DataHolders/Tuple.cs
  27. 0 0
      PixiEditor/Models/Dialogs/CustomDialog.cs
  28. 0 0
      PixiEditor/Models/Dialogs/ExportFileDialog.cs
  29. 0 0
      PixiEditor/Models/Dialogs/ImportFileDialog.cs
  30. 0 0
      PixiEditor/Models/Dialogs/NewFileDialog.cs
  31. 0 0
      PixiEditor/Models/Enums/FileType.cs
  32. 0 0
      PixiEditor/Models/Enums/LayerAction.cs
  33. 0 0
      PixiEditor/Models/IO/Exporter.cs
  34. 0 0
      PixiEditor/Models/IO/Importer.cs
  35. 0 0
      PixiEditor/Models/IO/PixiFilesManager.cs
  36. 0 0
      PixiEditor/Models/Images/BitmapConverter.cs
  37. 0 0
      PixiEditor/Models/Images/ImageGenerator.cs
  38. 0 0
      PixiEditor/Models/Layers/BasicLayer.cs
  39. 0 0
      PixiEditor/Models/Layers/Layer.cs
  40. 0 0
      PixiEditor/Models/Layers/LayerGenerator.cs
  41. 0 0
      PixiEditor/Models/Layers/LightLayer.cs
  42. 0 0
      PixiEditor/Models/Position/Coordinates.cs
  43. 10 0
      PixiEditor/Models/Position/CoordinatesCalculator.cs
  44. 0 0
      PixiEditor/Models/Position/DoubleCords.cs
  45. 0 0
      PixiEditor/Models/Position/MousePositionConverter.cs
  46. 0 0
      PixiEditor/Models/Tools/BitmapPixelChanges.cs
  47. 0 0
      PixiEditor/Models/Tools/ShapeTool.cs
  48. 0 0
      PixiEditor/Models/Tools/Tool.cs
  49. 0 0
      PixiEditor/Models/Tools/ToolType.cs
  50. 0 0
      PixiEditor/Models/Tools/Tools/BrightnessTool.cs
  51. 137 0
      PixiEditor/Models/Tools/Tools/CircleTool.cs
  52. 0 0
      PixiEditor/Models/Tools/Tools/EarserTool.cs
  53. 0 0
      PixiEditor/Models/Tools/Tools/FloodFill.cs
  54. 0 0
      PixiEditor/Models/Tools/Tools/LineTool.cs
  55. 0 0
      PixiEditor/Models/Tools/Tools/PenTool.cs
  56. 0 0
      PixiEditor/Models/Tools/Tools/RectangleTool.cs
  57. 0 0
      PixiEditor/PixiEditor.csproj
  58. 0 0
      PixiEditor/PixiEditor.sln
  59. 0 0
      PixiEditor/Properties/AssemblyInfo.cs
  60. 0 0
      PixiEditor/Properties/Resources.Designer.cs
  61. 0 0
      PixiEditor/Properties/Resources.resx
  62. 0 0
      PixiEditor/Properties/Settings.Designer.cs
  63. 0 0
      PixiEditor/Properties/Settings.settings
  64. 0 0
      PixiEditor/Styles/MenuButtonStyle.xaml
  65. 0 0
      PixiEditor/Styles/ThemeStyle.xaml
  66. 0 0
      PixiEditor/ViewModels/FeedbackDialogViewModel.cs
  67. 0 0
      PixiEditor/ViewModels/ImportFilePopupViewModel.cs
  68. 0 0
      PixiEditor/ViewModels/MenuButtonViewModel.cs
  69. 0 0
      PixiEditor/ViewModels/NewFileMenuViewModel.cs
  70. 0 0
      PixiEditor/ViewModels/SaveFilePopupViewModel.cs
  71. 0 0
      PixiEditor/ViewModels/ViewModelBase.cs
  72. 0 0
      PixiEditor/ViewModels/ViewModelMain.cs
  73. 0 0
      PixiEditor/Views/ImportFilePopup.xaml
  74. 0 0
      PixiEditor/Views/ImportFilePopup.xaml.cs
  75. 0 0
      PixiEditor/Views/MainDrawingPanel.xaml
  76. 0 0
      PixiEditor/Views/MainDrawingPanel.xaml.cs
  77. 0 0
      PixiEditor/Views/MainWindow.xaml
  78. 0 0
      PixiEditor/Views/MainWindow.xaml.cs
  79. 0 0
      PixiEditor/Views/MenuButton.xaml
  80. 0 0
      PixiEditor/Views/MenuButton.xaml.cs
  81. 0 0
      PixiEditor/Views/NewFilePopup.xaml
  82. 0 0
      PixiEditor/Views/NewFilePopup.xaml.cs
  83. 0 0
      PixiEditor/Views/SaveFilePopup.xaml
  84. 0 0
      PixiEditor/Views/SaveFilePopup.xaml.cs
  85. 0 25
      PixiEditorDotNetCore3/Models/Tools/Tools/CircleTool.cs
  86. 2 2
      PixiEditorTests/ModelsTests/ControllersTests/UndoManagerTests.cs
  87. 7 7
      PixiEditorTests/ModelsTests/PositionTests/CoordinatesCalculatorTests.cs
  88. 1 1
      PixiEditorTests/PixiEditorTests.csproj
  89. 1 1
      PixiEditorTests/WorkspaceTests/ColorsTests/ExtendedColorTests.cs
  90. 1 1
      PixiEditorTests/WorkspaceTests/ImageGeneratorTests.cs
  91. 2 2
      PixiEditorTests/WorkspaceTests/ToolsTests/CoordinatesCalculatorTests.cs

+ 0 - 0
PixiEditorDotNetCore3/App.xaml → PixiEditor/App.xaml


+ 0 - 0
PixiEditorDotNetCore3/Helpers/Behaviours/AllowableCharactersTextBoxBehavior.cs → PixiEditor/Helpers/Behaviours/AllowableCharactersTextBoxBehavior.cs


+ 0 - 0
PixiEditorDotNetCore3/Helpers/Behaviours/HintTextBehavior.cs → PixiEditor/Helpers/Behaviours/HintTextBehavior.cs


+ 0 - 0
PixiEditorDotNetCore3/Helpers/Behaviours/MouseBehaviour.cs → PixiEditor/Helpers/Behaviours/MouseBehaviour.cs


+ 0 - 0
PixiEditorDotNetCore3/Helpers/Behaviours/TextBoxNumericFinisherBehavior.cs → PixiEditor/Helpers/Behaviours/TextBoxNumericFinisherBehavior.cs


+ 0 - 0
PixiEditorDotNetCore3/Helpers/Converters/BoolToVisibilityConverter.cs → PixiEditor/Helpers/Converters/BoolToVisibilityConverter.cs


+ 0 - 0
PixiEditorDotNetCore3/Helpers/Converters/ToolSizeToIntConverter.cs → PixiEditor/Helpers/Converters/ToolSizeToIntConverter.cs


+ 0 - 0
PixiEditorDotNetCore3/Helpers/NotifyableObject.cs → PixiEditor/Helpers/NotifyableObject.cs


+ 0 - 0
PixiEditorDotNetCore3/Helpers/RelayCommand.cs → PixiEditor/Helpers/RelayCommand.cs


+ 0 - 0
PixiEditorDotNetCore3/Images/BucketImage.png → PixiEditor/Images/BucketImage.png


+ 0 - 0
PixiEditorDotNetCore3/Images/CircleImage.png → PixiEditor/Images/CircleImage.png


+ 0 - 0
PixiEditorDotNetCore3/Images/Cross.png → PixiEditor/Images/Cross.png


+ 0 - 0
PixiEditorDotNetCore3/Images/EarserImage.png → PixiEditor/Images/EarserImage.png


+ 0 - 0
PixiEditorDotNetCore3/Images/LightenImage.png → PixiEditor/Images/LightenImage.png


+ 0 - 0
PixiEditorDotNetCore3/Images/LineImage.png → PixiEditor/Images/LineImage.png


+ 0 - 0
PixiEditorDotNetCore3/Images/PenImage.png → PixiEditor/Images/PenImage.png


+ 0 - 0
PixiEditorDotNetCore3/Images/PipetteImage.png → PixiEditor/Images/PipetteImage.png


+ 0 - 0
PixiEditorDotNetCore3/Images/RectangleImage.png → PixiEditor/Images/RectangleImage.png


+ 0 - 0
PixiEditorDotNetCore3/Images/transparentbg.png → PixiEditor/Images/transparentbg.png


+ 0 - 0
PixiEditorDotNetCore3/Models/Colors/ExColor.cs → PixiEditor/Models/Colors/ExColor.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Controllers/BitmapOperationsUtility.cs → PixiEditor/Models/Controllers/BitmapOperationsUtility.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Controllers/MouseMovementController.cs → PixiEditor/Models/Controllers/MouseMovementController.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Controllers/UndoManager.cs → PixiEditor/Models/Controllers/UndoManager.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/DataHolders/Change.cs → PixiEditor/Models/DataHolders/Change.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/DataHolders/StackEx.cs → PixiEditor/Models/DataHolders/StackEx.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/DataHolders/Tuple.cs → PixiEditor/Models/DataHolders/Tuple.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Dialogs/CustomDialog.cs → PixiEditor/Models/Dialogs/CustomDialog.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Dialogs/ExportFileDialog.cs → PixiEditor/Models/Dialogs/ExportFileDialog.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Dialogs/ImportFileDialog.cs → PixiEditor/Models/Dialogs/ImportFileDialog.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Dialogs/NewFileDialog.cs → PixiEditor/Models/Dialogs/NewFileDialog.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Enums/FileType.cs → PixiEditor/Models/Enums/FileType.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Enums/LayerAction.cs → PixiEditor/Models/Enums/LayerAction.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/IO/Exporter.cs → PixiEditor/Models/IO/Exporter.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/IO/Importer.cs → PixiEditor/Models/IO/Importer.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/IO/PixiFilesManager.cs → PixiEditor/Models/IO/PixiFilesManager.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Images/BitmapConverter.cs → PixiEditor/Models/Images/BitmapConverter.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Images/ImageGenerator.cs → PixiEditor/Models/Images/ImageGenerator.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Layers/BasicLayer.cs → PixiEditor/Models/Layers/BasicLayer.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Layers/Layer.cs → PixiEditor/Models/Layers/Layer.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Layers/LayerGenerator.cs → PixiEditor/Models/Layers/LayerGenerator.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Layers/LightLayer.cs → PixiEditor/Models/Layers/LightLayer.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Position/Coordinates.cs → PixiEditor/Models/Position/Coordinates.cs


+ 10 - 0
PixiEditorDotNetCore3/Models/Position/CoordinatesCalculator.cs → PixiEditor/Models/Position/CoordinatesCalculator.cs

@@ -32,6 +32,16 @@ namespace PixiEditor.Models.Position
             return new DoubleCords(new Coordinates(x1, y1), new Coordinates(x2 - 1, y2 - 1));
         }
 
+        public static Coordinates GetCenterPoint(Coordinates startingPoint, Coordinates endPoint)
+        {
+            double width = endPoint.X - startingPoint.X + 1;
+            double height = endPoint.Y - startingPoint.Y + 1;
+
+            int x = startingPoint.X + (int)Math.Floor(width / 2);
+            int y = startingPoint.Y + (int)Math.Floor(height / 2);
+            return new Coordinates(x, y);
+        }
+
         public static Coordinates[] RectangleToCoordinates(int x1, int y1, int x2, int y2)
         {
             x2++;

+ 0 - 0
PixiEditorDotNetCore3/Models/Position/DoubleCords.cs → PixiEditor/Models/Position/DoubleCords.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Position/MousePositionConverter.cs → PixiEditor/Models/Position/MousePositionConverter.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/BitmapPixelChanges.cs → PixiEditor/Models/Tools/BitmapPixelChanges.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/ShapeTool.cs → PixiEditor/Models/Tools/ShapeTool.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/Tool.cs → PixiEditor/Models/Tools/Tool.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/ToolType.cs → PixiEditor/Models/Tools/ToolType.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/Tools/BrightnessTool.cs → PixiEditor/Models/Tools/Tools/BrightnessTool.cs


+ 137 - 0
PixiEditor/Models/Tools/Tools/CircleTool.cs

@@ -0,0 +1,137 @@
+using PixiEditor.Models.Layers;
+using PixiEditor.Models.Position;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+
+namespace PixiEditor.Models.Tools.Tools
+{
+    public class CircleTool : ShapeTool
+    {
+        public override ToolType ToolType => ToolType.Circle;
+
+        public override BitmapPixelChanges Use(Layer layer, Coordinates[] coordinates, Color color, int toolSize)
+        {
+            DoubleCords fixedCoordinates = CalculateCoordinatesForShapeRotation(coordinates[^1], coordinates[0]);
+            return BitmapPixelChanges.FromSingleColoredArray(CreateEllipse(fixedCoordinates.Coords1, fixedCoordinates.Coords2), color);
+        }
+
+        public Coordinates[] CreateEllipse(Coordinates startCoordinates, Coordinates endCoordinates)
+        {            
+            Coordinates centerCoordinates = CoordinatesCalculator.GetCenterPoint(startCoordinates, endCoordinates);
+            int radiusX = endCoordinates.X - centerCoordinates.X;
+            int radiusY = endCoordinates.Y - centerCoordinates.Y;
+            return MidpointEllipse(radiusX, radiusY, centerCoordinates.X, centerCoordinates.Y);
+        }
+
+        public Coordinates[] MidpointEllipse(double rx, double ry, double xc, double yc)
+        {
+            List<Coordinates> outputCoordinates = new List<Coordinates>();
+            double dx, dy, d1, d2, x, y;
+            x = 0;
+            y = ry;
+
+            d1 = (ry * ry) - (rx * rx * ry) + (0.25f * rx * rx);
+            dx = 2 * ry * ry * x;
+            dy = 2 * rx * rx * y;
+
+            while (dx < dy)
+            {
+                outputCoordinates.AddRange(GetRegionPoints(x, xc, y, yc));
+                if (d1 < 0)
+                {
+                    x++;
+                    dx += (2 * ry * ry);
+                    d1 = d1 + dx + (ry * ry);
+                }
+                else
+                {
+                    x++;
+                    y--;
+                    dx += (2 * ry * ry);
+                    dy -= (2 * rx * rx);
+                    d1 = d1 + dx - dy + (ry * ry);
+                }
+            }
+
+            //Yeah, it scares me too
+            d2 = (ry * ry * ((x + 0.5f) * (x + 0.5f))) + (rx * rx * ((y - 1) * (y - 1))) - (rx * rx * ry * ry);
+
+            while(y >= 0)
+            {
+                outputCoordinates.AddRange(GetRegionPoints(x, xc, y, yc));
+
+                if(d2 > 0)
+                {
+                    y--;
+                    dy -= (2 * rx * rx);
+                    d2 = d2 + (rx * rx) - dy;
+                }
+                else
+                {
+                    y--;
+                    x++;
+                    dx += (2 * ry * ry);
+                    dy -= (2 * rx * rx);
+                    d2 = d2 + dx - dy + (rx * rx);
+                }
+            }
+
+            return outputCoordinates.Distinct().ToArray();
+
+        }
+
+        private Coordinates[] GetRegionPoints(double x, double xc, double y, double yc)
+        {
+            Coordinates[] outputCoordinates = new Coordinates[4];
+            outputCoordinates[0] = (new Coordinates((int)x + (int)xc, (int)y + (int)yc));
+            outputCoordinates[1] = (new Coordinates((int)-x + (int)xc, (int)y + (int)yc));
+            outputCoordinates[2] = (new Coordinates((int)x + (int)xc, (int)-y + (int)yc));
+            outputCoordinates[3] = (new Coordinates((int)-x + (int)xc, (int)-y + (int)yc));
+            return outputCoordinates;
+        }
+
+        public Coordinates[] BresenhamCircle(Coordinates startCoordinates, Coordinates endCoordinates, int size)
+        {
+            List<Coordinates> outputCoordinates = new List<Coordinates>();
+            Coordinates centerCoordinates = CoordinatesCalculator.GetCenterPoint(startCoordinates, endCoordinates);
+            int radius = endCoordinates.X - centerCoordinates.X;
+            int x = 0;
+            int y = radius;
+            int decision = 3 - 2 * radius;
+            outputCoordinates.AddRange(GetPixelsForOctant(centerCoordinates.X, centerCoordinates.Y, x, y));
+
+            while (x <= y)
+            {
+                if (decision <= 0)
+                {
+                    decision = decision + (4 * x) + 6;
+                }
+                else
+                {
+                    decision = decision + (4 * x) - (4 * y) + 10;
+                    y--;
+                }
+                x++;
+                outputCoordinates.AddRange(GetPixelsForOctant(centerCoordinates.X, centerCoordinates.Y, x, y));
+            }
+            return outputCoordinates.Distinct().ToArray();
+        }
+
+        private Coordinates[] GetPixelsForOctant(int xc, int yc, int x, int y)
+        {
+            Coordinates[] outputCords = new Coordinates[8];
+            outputCords[0] = new Coordinates(x + xc, y + yc);
+            outputCords[1] = new Coordinates(x + xc, -y + yc);
+            outputCords[2] = new Coordinates(-x + xc, -y + yc);
+            outputCords[3] = new Coordinates(-x + xc, y + yc);
+            outputCords[4] = new Coordinates(y + xc, x + yc);
+            outputCords[5] = new Coordinates(y + xc, -x + yc);
+            outputCords[6] = new Coordinates(-y + xc, -x + yc);
+            outputCords[7] = new Coordinates(-y + xc, x + yc);
+            return outputCords;
+        }
+
+    }
+}

+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/Tools/EarserTool.cs → PixiEditor/Models/Tools/Tools/EarserTool.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/Tools/FloodFill.cs → PixiEditor/Models/Tools/Tools/FloodFill.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/Tools/LineTool.cs → PixiEditor/Models/Tools/Tools/LineTool.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/Tools/PenTool.cs → PixiEditor/Models/Tools/Tools/PenTool.cs


+ 0 - 0
PixiEditorDotNetCore3/Models/Tools/Tools/RectangleTool.cs → PixiEditor/Models/Tools/Tools/RectangleTool.cs


+ 0 - 0
PixiEditorDotNetCore3/PixiEditor.csproj → PixiEditor/PixiEditor.csproj


+ 0 - 0
PixiEditorDotNetCore3/PixiEditor.sln → PixiEditor/PixiEditor.sln


+ 0 - 0
PixiEditorDotNetCore3/Properties/AssemblyInfo.cs → PixiEditor/Properties/AssemblyInfo.cs


+ 0 - 0
PixiEditorDotNetCore3/Properties/Resources.Designer.cs → PixiEditor/Properties/Resources.Designer.cs


+ 0 - 0
PixiEditorDotNetCore3/Properties/Resources.resx → PixiEditor/Properties/Resources.resx


+ 0 - 0
PixiEditorDotNetCore3/Properties/Settings.Designer.cs → PixiEditor/Properties/Settings.Designer.cs


+ 0 - 0
PixiEditorDotNetCore3/Properties/Settings.settings → PixiEditor/Properties/Settings.settings


+ 0 - 0
PixiEditorDotNetCore3/Styles/MenuButtonStyle.xaml → PixiEditor/Styles/MenuButtonStyle.xaml


+ 0 - 0
PixiEditorDotNetCore3/Styles/ThemeStyle.xaml → PixiEditor/Styles/ThemeStyle.xaml


+ 0 - 0
PixiEditorDotNetCore3/ViewModels/FeedbackDialogViewModel.cs → PixiEditor/ViewModels/FeedbackDialogViewModel.cs


+ 0 - 0
PixiEditorDotNetCore3/ViewModels/ImportFilePopupViewModel.cs → PixiEditor/ViewModels/ImportFilePopupViewModel.cs


+ 0 - 0
PixiEditorDotNetCore3/ViewModels/MenuButtonViewModel.cs → PixiEditor/ViewModels/MenuButtonViewModel.cs


+ 0 - 0
PixiEditorDotNetCore3/ViewModels/NewFileMenuViewModel.cs → PixiEditor/ViewModels/NewFileMenuViewModel.cs


+ 0 - 0
PixiEditorDotNetCore3/ViewModels/SaveFilePopupViewModel.cs → PixiEditor/ViewModels/SaveFilePopupViewModel.cs


+ 0 - 0
PixiEditorDotNetCore3/ViewModels/ViewModelBase.cs → PixiEditor/ViewModels/ViewModelBase.cs


+ 0 - 0
PixiEditorDotNetCore3/ViewModels/ViewModelMain.cs → PixiEditor/ViewModels/ViewModelMain.cs


+ 0 - 0
PixiEditorDotNetCore3/Views/ImportFilePopup.xaml → PixiEditor/Views/ImportFilePopup.xaml


+ 0 - 0
PixiEditorDotNetCore3/Views/ImportFilePopup.xaml.cs → PixiEditor/Views/ImportFilePopup.xaml.cs


+ 0 - 0
PixiEditorDotNetCore3/Views/MainDrawingPanel.xaml → PixiEditor/Views/MainDrawingPanel.xaml


+ 0 - 0
PixiEditorDotNetCore3/Views/MainDrawingPanel.xaml.cs → PixiEditor/Views/MainDrawingPanel.xaml.cs


+ 0 - 0
PixiEditorDotNetCore3/Views/MainWindow.xaml → PixiEditor/Views/MainWindow.xaml


+ 0 - 0
PixiEditorDotNetCore3/Views/MainWindow.xaml.cs → PixiEditor/Views/MainWindow.xaml.cs


+ 0 - 0
PixiEditorDotNetCore3/Views/MenuButton.xaml → PixiEditor/Views/MenuButton.xaml


+ 0 - 0
PixiEditorDotNetCore3/Views/MenuButton.xaml.cs → PixiEditor/Views/MenuButton.xaml.cs


+ 0 - 0
PixiEditorDotNetCore3/Views/NewFilePopup.xaml → PixiEditor/Views/NewFilePopup.xaml


+ 0 - 0
PixiEditorDotNetCore3/Views/NewFilePopup.xaml.cs → PixiEditor/Views/NewFilePopup.xaml.cs


+ 0 - 0
PixiEditorDotNetCore3/Views/SaveFilePopup.xaml → PixiEditor/Views/SaveFilePopup.xaml


+ 0 - 0
PixiEditorDotNetCore3/Views/SaveFilePopup.xaml.cs → PixiEditor/Views/SaveFilePopup.xaml.cs


+ 0 - 25
PixiEditorDotNetCore3/Models/Tools/Tools/CircleTool.cs

@@ -1,25 +0,0 @@
-using PixiEditor.Models.Layers;
-using PixiEditor.Models.Position;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-
-namespace PixiEditor.Models.Tools.Tools
-{
-    public class CircleTool : ShapeTool
-    {
-        public override ToolType ToolType => ToolType.Circle;
-
-        public override BitmapPixelChanges Use(Layer layer, Coordinates[] coordinates, Color color, int toolSize)
-        {
-
-            return BitmapPixelChanges.FromSingleColoredArray(CreateCircle(coordinates, toolSize), color);
-        }
-
-        public Coordinates[] CreateCircle(Coordinates[] coordinates, int size)
-        {
-            return System.Array.Empty<Coordinates>();
-        }
-
-        
-    }
-}

+ 2 - 2
PixiEditorTests/ModelsTests/ControllersTests/UndoManagerTests.cs

@@ -1,6 +1,6 @@
 using NUnit.Framework;
-using PixiEditorDotNetCore3.Models.Controllers;
-using PixiEditorDotNetCore3.Models.DataHolders;
+using PixiEditor.Models.Controllers;
+using PixiEditor.Models.DataHolders;
 using System;
 using System.Collections.Generic;
 using System.Text;

+ 7 - 7
PixiEditorTests/ModelsTests/PositionTests/CoordinatesCalculatorTests.cs

@@ -1,19 +1,19 @@
 using NUnit.Framework;
 using PixiEditor.Models.Position;
-using System;
-using System.Collections.Generic;
-using System.Text;
 
 namespace PixiEditorTests.ModelsTests.PositionTests
 {
     [TestFixture]
     public class CoordinatesCalculatorTests
     {
-        [TestCase(5,5, 1)]
-        public void TestCenterOfThickness(int x1, int y1, int thickness)
+        [TestCase(0, 0, 3, 3, 2, 2)]
+        [TestCase(0, 0, 2, 2, 1, 1)]
+        [TestCase(5, 5, 7, 7, 6, 6)]
+        [TestCase(5, 5, 9, 9, 7, 7)]
+        public void TestGetCenter(int x1, int y1, int x2, int y2, int expectedX, int expectedY)
         {
-            CoordinatesCalculator.CalculateThicknessCenter(new Coordinates(x1, y1), thickness);
-            
+            Coordinates center = CoordinatesCalculator.GetCenterPoint(new Coordinates(x1, y1), new Coordinates(x2, y2));
+            Assert.AreEqual(center, new Coordinates(expectedX, expectedY));
         }
 
     }

+ 1 - 1
PixiEditorTests/PixiEditorTests.csproj

@@ -21,7 +21,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\PixiEditorDotNetCore3\PixiEditor.csproj" />
+    <ProjectReference Include="..\PixiEditor\PixiEditor.csproj" />
   </ItemGroup>
 
 </Project>

+ 1 - 1
PixiEditorTests/WorkspaceTests/ColorsTests/ExtendedColorTests.cs

@@ -1,5 +1,5 @@
 using NUnit.Framework;
-using PixiEditorDotNetCore3.Models.Colors;
+using PixiEditor.Models.Colors;
 using System;
 using System.Collections.Generic;
 using System.Text;

+ 1 - 1
PixiEditorTests/WorkspaceTests/ImageGeneratorTests.cs

@@ -1,5 +1,5 @@
 using NUnit.Framework;
-using PixiEditorDotNetCore3.Models.Images;
+using PixiEditor.Models.Images;
 using System;
 using System.Collections.Generic;
 using System.Text;

+ 2 - 2
PixiEditorTests/WorkspaceTests/ToolsTests/CoordinatesCalculatorTests.cs

@@ -1,6 +1,6 @@
 using NUnit.Framework;
-using PixiEditorDotNetCore3.Models.Position;
-using PixiEditorDotNetCore3.Models.Tools.Tools;
+using PixiEditor.Models.Position;
+using PixiEditor.Models.Tools.Tools;
 using System;
 using System.Collections.Generic;
 using System.Text;