From 08d1d85df8e6f6a263940784c4a42e1cc79ce639 Mon Sep 17 00:00:00 2001 From: Jaex Date: Fri, 5 Aug 2016 17:20:08 +0300 Subject: [PATCH] Removed NodeType, Changed ShowNodes to FixedSize --- ShareX.ScreenCaptureLib/Shapes/BaseShape.cs | 18 +++++++++++------- .../Shapes/Drawing/LineDrawingShape.cs | 1 - .../Shapes/Drawing/StepDrawingShape.cs | 3 +-- .../Shapes/Region/FreehandRegionShape.cs | 1 - ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs | 4 ++-- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/ShareX.ScreenCaptureLib/Shapes/BaseShape.cs b/ShareX.ScreenCaptureLib/Shapes/BaseShape.cs index 4623fb5d4..24a0beef0 100644 --- a/ShareX.ScreenCaptureLib/Shapes/BaseShape.cs +++ b/ShareX.ScreenCaptureLib/Shapes/BaseShape.cs @@ -36,8 +36,6 @@ public abstract class BaseShape public abstract ShapeType ShapeType { get; } - public virtual NodeType NodeType { get; } = NodeType.Rectangle; - public Rectangle Rectangle { get; set; } protected AnnotationOptions AnnotationOptions @@ -88,7 +86,7 @@ public virtual bool IsValidShape } } - public virtual bool ShowNodes { get; } = true; + public virtual bool FixedSize { get; } = false; internal ShapeManager Manager { get; set; } @@ -149,14 +147,20 @@ public virtual void OnUpdate() } else if (Manager.IsProportionalResizing) { - if (NodeType == NodeType.Rectangle) + float degree, startDegree; + + if (ShapeType == ShapeType.DrawingLine || ShapeType == ShapeType.DrawingArrow) { - pos = CaptureHelpers.SnapPositionToDegree(StartPosition, pos, 90, 45); + degree = 45; + startDegree = 0; } - else if (NodeType == NodeType.Line) + else { - pos = CaptureHelpers.SnapPositionToDegree(StartPosition, pos, 45, 0); + degree = 90; + startDegree = 45; } + + pos = CaptureHelpers.SnapPositionToDegree(StartPosition, pos, degree, startDegree); } else if (Manager.IsSnapResizing) { diff --git a/ShareX.ScreenCaptureLib/Shapes/Drawing/LineDrawingShape.cs b/ShareX.ScreenCaptureLib/Shapes/Drawing/LineDrawingShape.cs index fb11f567c..544403d1c 100644 --- a/ShareX.ScreenCaptureLib/Shapes/Drawing/LineDrawingShape.cs +++ b/ShareX.ScreenCaptureLib/Shapes/Drawing/LineDrawingShape.cs @@ -32,7 +32,6 @@ namespace ShareX.ScreenCaptureLib public class LineDrawingShape : BaseDrawingShape { public override ShapeType ShapeType { get; } = ShapeType.DrawingLine; - public override NodeType NodeType { get; } = NodeType.Line; public override bool IsValidShape { diff --git a/ShareX.ScreenCaptureLib/Shapes/Drawing/StepDrawingShape.cs b/ShareX.ScreenCaptureLib/Shapes/Drawing/StepDrawingShape.cs index 89a4c45b8..d4366f138 100644 --- a/ShareX.ScreenCaptureLib/Shapes/Drawing/StepDrawingShape.cs +++ b/ShareX.ScreenCaptureLib/Shapes/Drawing/StepDrawingShape.cs @@ -35,8 +35,7 @@ public class StepDrawingShape : BaseDrawingShape private const int DefaultSize = 30; public override ShapeType ShapeType { get; } = ShapeType.DrawingStep; - public override NodeType NodeType { get; } = NodeType.Point; - public override bool ShowNodes { get; } = false; + public override bool FixedSize { get; } = true; public int Number { get; set; } diff --git a/ShareX.ScreenCaptureLib/Shapes/Region/FreehandRegionShape.cs b/ShareX.ScreenCaptureLib/Shapes/Region/FreehandRegionShape.cs index 410d1f894..1182c7c6d 100644 --- a/ShareX.ScreenCaptureLib/Shapes/Region/FreehandRegionShape.cs +++ b/ShareX.ScreenCaptureLib/Shapes/Region/FreehandRegionShape.cs @@ -33,7 +33,6 @@ namespace ShareX.ScreenCaptureLib public class FreehandRegionShape : BaseRegionShape { public override ShapeType ShapeType { get; } = ShapeType.RegionFreehand; - public override NodeType NodeType { get; } = NodeType.Freehand; public Point LastPosition { diff --git a/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs b/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs index 65a18bd26..9cac075b5 100644 --- a/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs +++ b/ShareX.ScreenCaptureLib/Shapes/ShapeManager.cs @@ -1201,7 +1201,7 @@ private void StartRegionSelection() Point pos = InputManager.MousePosition0Based; - if (shape.NodeType == NodeType.Point) + if (shape.FixedSize) { IsMoving = true; shape.Rectangle = new Rectangle(new Point(pos.X - shape.Rectangle.Width / 2, pos.Y - shape.Rectangle.Height / 2), shape.Rectangle.Size); @@ -1517,7 +1517,7 @@ private void SelectShape() { BaseShape shape = CurrentShape; - if (shape != null && shape.ShowNodes && !CurrentRectangle.IsEmpty) + if (shape != null && !shape.FixedSize && !CurrentRectangle.IsEmpty) { NodesVisible = true; }