From 888db53d8318f4de390dc23c2f92fe6f67089095 Mon Sep 17 00:00:00 2001 From: Niels Martin Hansen Date: Wed, 17 Aug 2022 22:45:46 +0200 Subject: [PATCH] Factor out the affected area display rectangle for CutOutTool visual --- .../Shapes/Tool/CutOutTool.cs | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/ShareX.ScreenCaptureLib/Shapes/Tool/CutOutTool.cs b/ShareX.ScreenCaptureLib/Shapes/Tool/CutOutTool.cs index 76a6277c5..901b01d8c 100644 --- a/ShareX.ScreenCaptureLib/Shapes/Tool/CutOutTool.cs +++ b/ShareX.ScreenCaptureLib/Shapes/Tool/CutOutTool.cs @@ -49,6 +49,22 @@ public class CutOutTool : BaseTool } } + public RectangleF CutOutRectangle + { + get + { + if (IsHorizontalTrim) + { + return new RectangleF(Rectangle.X, Manager.Form.CanvasRectangle.Y, Rectangle.Width, Manager.Form.CanvasRectangle.Height); + } + if (IsVerticalTrim) + { + return new RectangleF(Manager.Form.CanvasRectangle.X, Rectangle.Y, Manager.Form.CanvasRectangle.Width, Rectangle.Height); + } + return RectangleF.Empty; + } + } + private ImageEditorButton confirmButton, cancelButton; private Size buttonSize = new Size(80, 40); private int buttonOffset = 15; @@ -121,14 +137,7 @@ public override void OnDraw(Graphics g) using (Image selectionHighlightPattern = ImageHelpers.CreateCheckerPattern(8, 8, Color.FromArgb(128, Color.White), Color.FromArgb(128, Color.Gray))) using (Brush selectionHighlightBrush = new TextureBrush(selectionHighlightPattern, System.Drawing.Drawing2D.WrapMode.Tile)) { - if (IsHorizontalTrim) - { - g.FillRectangle(selectionHighlightBrush, new RectangleF(Rectangle.X, Math.Max(g.ClipBounds.Y, Manager.Form.CanvasRectangle.Y), Rectangle.Width, Math.Min(g.ClipBounds.Height, Manager.Form.CanvasRectangle.Height))); - } - else if (IsVerticalTrim) - { - g.FillRectangle(selectionHighlightBrush, new RectangleF(Math.Max(g.ClipBounds.X, Manager.Form.CanvasRectangle.X), Rectangle.Y, Math.Min(g.ClipBounds.Width, Manager.Form.CanvasRectangle.Width), Rectangle.Height)); - } + g.FillRectangle(selectionHighlightBrush, CutOutRectangle); } }