12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using PixiEditor.Models.Layers;
- using PixiEditor.Models.Position;
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Windows.Media;
- namespace PixiEditor.Models.Tools
- {
- public abstract class ShapeTool : Tool
- {
- public override abstract ToolType ToolType { get; }
- public ShapeTool()
- {
- ExecutesItself = true;
- }
- public abstract override BitmapPixelChanges Use(Layer layer, Coordinates[] coordinates, Color color, int toolSize);
- protected DoubleCords CalculateCoordinatesForShapeRotation(Coordinates startingCords)
- {
- Coordinates currentCoordinates = MousePositionConverter.CurrentCoordinates;
- if (startingCords.X > currentCoordinates.X && startingCords.Y > currentCoordinates.Y)
- {
- return new DoubleCords(new Coordinates(currentCoordinates.X, currentCoordinates.Y), new Coordinates(startingCords.X, startingCords.Y));
- }
- else if (startingCords.X < currentCoordinates.X && startingCords.Y < currentCoordinates.Y)
- {
- return new DoubleCords(new Coordinates(startingCords.X, startingCords.Y), new Coordinates(currentCoordinates.X, currentCoordinates.Y));
- }
- else if (startingCords.Y > currentCoordinates.Y)
- {
- return new DoubleCords(new Coordinates(startingCords.X, currentCoordinates.Y), new Coordinates(currentCoordinates.X, startingCords.Y));
- }
- else
- {
- return new DoubleCords(new Coordinates(currentCoordinates.X, startingCords.Y), new Coordinates(startingCords.X, currentCoordinates.Y));
- }
- }
- }
- }
|