From 4ee76af0ea8b5fad2bde2bd6c2a42852bc60acee Mon Sep 17 00:00:00 2001 From: Jaex Date: Sat, 30 Sep 2017 17:08:40 +0300 Subject: [PATCH] Added custom circle resize node --- ShareX.ScreenCaptureLib/Enums.cs | 2 +- .../Properties/Resources.Designer.cs | 12 +++++++++++- .../Properties/Resources.resx | 3 +++ .../RegionHelpers/ResizeNode.cs | 10 ++++++++-- .../Resources/CircleNode.png | Bin 0 -> 19988 bytes ShareX.ScreenCaptureLib/Shapes/BaseShape.cs | 1 - .../Shapes/Drawing/LineDrawingShape.cs | 1 - .../Shapes/Drawing/SpeechBalloonDrawingShape.cs | 1 - .../Shapes/Region/FreehandRegionShape.cs | 1 - .../ShareX.ScreenCaptureLib.csproj | 1 + 10 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 ShareX.ScreenCaptureLib/Resources/CircleNode.png diff --git a/ShareX.ScreenCaptureLib/Enums.cs b/ShareX.ScreenCaptureLib/Enums.cs index 1b19ccb45..00951d093 100644 --- a/ShareX.ScreenCaptureLib/Enums.cs +++ b/ShareX.ScreenCaptureLib/Enums.cs @@ -84,7 +84,7 @@ internal enum NodePosition internal enum NodeShape { - Square, Circle, Diamond + Square, Circle, Diamond, CustomNode } public enum FFmpegVideoCodec diff --git a/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs b/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs index 9e39727ce..7711e5eb7 100644 --- a/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs +++ b/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace ShareX.ScreenCaptureLib.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -99,6 +99,16 @@ internal static System.Drawing.Bitmap camera { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap CircleNode { + get { + object obj = ResourceManager.GetObject("CircleNode", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/ShareX.ScreenCaptureLib/Properties/Resources.resx b/ShareX.ScreenCaptureLib/Properties/Resources.resx index ffca24839..1676c36fa 100644 --- a/ShareX.ScreenCaptureLib/Properties/Resources.resx +++ b/ShareX.ScreenCaptureLib/Properties/Resources.resx @@ -609,4 +609,7 @@ Distance: {6:0.00} px / Angle: {7:0.00}° ..\Resources\cursor.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\CircleNode.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/ShareX.ScreenCaptureLib/RegionHelpers/ResizeNode.cs b/ShareX.ScreenCaptureLib/RegionHelpers/ResizeNode.cs index 161e7c274..f72ff478f 100644 --- a/ShareX.ScreenCaptureLib/RegionHelpers/ResizeNode.cs +++ b/ShareX.ScreenCaptureLib/RegionHelpers/ResizeNode.cs @@ -24,6 +24,7 @@ You should have received a copy of the GNU General Public License #endregion License Information (GPL v3) using ShareX.HelpersLib; +using ShareX.ScreenCaptureLib.Properties; using System.Drawing; namespace ShareX.ScreenCaptureLib @@ -52,11 +53,13 @@ public Point Position public NodeShape Shape { get; set; } + private static Image customNodeImage = Resources.CircleNode; + public ResizeNode(int x = 0, int y = 0) { - Size = DefaultSize; - Shape = NodeShape.Square; + Shape = NodeShape.CustomNode; Position = new Point(x, y); + Size = customNodeImage.Width; } public override void Draw(Graphics g) @@ -77,6 +80,9 @@ public override void Draw(Graphics g) g.DrawDiamond(Pens.White, rect.Offset(-1)); g.DrawDiamond(Pens.Black, rect); break; + case NodeShape.CustomNode: + g.DrawImage(customNodeImage, Rectangle); + break; } } } diff --git a/ShareX.ScreenCaptureLib/Resources/CircleNode.png b/ShareX.ScreenCaptureLib/Resources/CircleNode.png new file mode 100644 index 0000000000000000000000000000000000000000..dd7486b17fa242bb8a65f0738309424f2e902b48 GIT binary patch literal 19988 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 +