From d731d151c8190be8a3b489670c5f26ad7dbb1136 Mon Sep 17 00:00:00 2001 From: RKrom Date: Sun, 1 Jun 2014 22:16:39 +0200 Subject: [PATCH] Made transformations work for most elements. --- Greenshot/Drawing/DrawableContainer.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Greenshot/Drawing/DrawableContainer.cs b/Greenshot/Drawing/DrawableContainer.cs index 68e5c74a4..9ec947b19 100644 --- a/Greenshot/Drawing/DrawableContainer.cs +++ b/Greenshot/Drawing/DrawableContainer.cs @@ -702,19 +702,23 @@ namespace Greenshot.Drawing { if (matrix == null) { return; } - Point center = new Point(Left + (Width/2), Top + (Height/2)); + Point topLeft = new Point(Left, Top); + Point bottomRight = new Point(Left + Width, Top + Height); Point[] points; if (TargetGripper != null) { - points = new[] {center, TargetGripper.Location}; + points = new[] {topLeft, bottomRight, TargetGripper.Location}; } else { - points = new[] { center}; + points = new[] { topLeft, bottomRight }; } matrix.TransformPoints(points); - Location = new Point(points[0].X - (Width/2), points[0].Y - (Height/2)); + Left = points[0].X; + Top = points[0].Y; + Width = points[1].X - points[0].X; + Height = points[1].Y - points[0].Y; if (TargetGripper != null) { - TargetGripper.Location = points[1]; + TargetGripper.Location = points[points.Length-1]; } }