From 23f429d27701c07e0bd01f42068ef5885dc6f0a7 Mon Sep 17 00:00:00 2001 From: JKlingen Date: Sun, 25 Nov 2012 20:18:57 +0000 Subject: [PATCH] finally fixed last problems with position and invalidation of zoomer git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2317 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4 --- Greenshot/Forms/CaptureForm.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Greenshot/Forms/CaptureForm.cs b/Greenshot/Forms/CaptureForm.cs index 20e1ae438..a3d784da9 100644 --- a/Greenshot/Forms/CaptureForm.cs +++ b/Greenshot/Forms/CaptureForm.cs @@ -468,6 +468,7 @@ namespace Greenshot.Forms { /// /// private Rectangle ZoomArea(Point pos, Size size) { + Rectangle ret; const int distanceX = 20; const int distanceY = 20; Rectangle tl = new Rectangle(pos.X - (distanceX + size.Width), pos.Y - (distanceY + size.Height), size.Width, size.Height); @@ -476,14 +477,16 @@ namespace Greenshot.Forms { Rectangle br = new Rectangle(pos.X + distanceX, pos.Y + distanceY, size.Width, size.Height); Rectangle screenBounds = Screen.GetBounds(pos); if (screenBounds.Contains(br)) { - return br; + ret = br; } else if (screenBounds.Contains(bl)) { - return bl; + ret = bl; } else if (screenBounds.Contains(tr)) { - return tr; + ret = tr; } else { - return tl; + ret = tl; } + ret.Offset(-capture.ScreenBounds.Location.X, -capture.ScreenBounds.Location.Y); + return ret; } /// @@ -502,8 +505,6 @@ namespace Greenshot.Forms { graphics.CompositingQuality = CompositingQuality.HighSpeed; graphics.PixelOffsetMode = PixelOffsetMode.None; - destinationRectangle.Offset(-capture.ScreenBounds.Location.X, -capture.ScreenBounds.Location.Y); - using (GraphicsPath path = new GraphicsPath()) { path.AddEllipse(destinationRectangle); using (Region clipRegion = new Region(path)) {