diff --git a/Greenshot/Drawing/DrawableContainer.cs b/Greenshot/Drawing/DrawableContainer.cs index f89df29c9..d86d527f5 100644 --- a/Greenshot/Drawing/DrawableContainer.cs +++ b/Greenshot/Drawing/DrawableContainer.cs @@ -592,6 +592,12 @@ namespace Greenshot.Drawing { Invalidate(); } + public virtual bool CanRotate { + get { + return true; + } + } + public virtual void Rotate(RotateFlipType rotateFlipType) { // somehow the rotation is the wrong way? int angle = 90; diff --git a/Greenshot/Drawing/FreehandContainer.cs b/Greenshot/Drawing/FreehandContainer.cs index 2d1a47124..d8a377ed9 100644 --- a/Greenshot/Drawing/FreehandContainer.cs +++ b/Greenshot/Drawing/FreehandContainer.cs @@ -169,25 +169,13 @@ namespace Greenshot.Drawing { myBounds = Rectangle.Round(freehandPath.GetBounds()); } - public override void Rotate(RotateFlipType rotateFlipType) { - int angle = 270; - if (rotateFlipType == RotateFlipType.Rotate90FlipNone) { - angle = 90; + /// + /// Currently we can't rotate the freehand + /// + public override bool CanRotate { + get { + return false; } - - LOG.DebugFormat("Bounds before: {0} - {1}", Bounds, freehandPath.GetBounds()); - Matrix rotateMatrix = new Matrix(); - rotateMatrix.Translate(-(parent.Width >> 1), -(parent.Height >> 1)); - freehandPath.Transform(rotateMatrix); - rotateMatrix = new Matrix(); - rotateMatrix.Rotate(360 - angle); - freehandPath.Transform(rotateMatrix); - rotateMatrix = new Matrix(); - rotateMatrix.Translate(parent.Height >> 1, parent.Width >> 1); - freehandPath.Transform(rotateMatrix); - - LOG.DebugFormat("Bounds after: {0} - {1}", Bounds, freehandPath.GetBounds()); - //base.Rotate(rotateFlipType); } /// diff --git a/Greenshot/Drawing/Surface.cs b/Greenshot/Drawing/Surface.cs index 7af8dc754..ba7b979c3 100644 --- a/Greenshot/Drawing/Surface.cs +++ b/Greenshot/Drawing/Surface.cs @@ -582,7 +582,9 @@ namespace Greenshot.Drawing { rotateFlipType = RotateFlipType.Rotate90FlipNone; } foreach (DrawableContainer drawableContainer in elements) { - drawableContainer.Rotate(rotateFlipType); + if (drawableContainer.CanRotate) { + drawableContainer.Rotate(rotateFlipType); + } } newImage = ImageHelper.RotateFlip((Bitmap)Image, rotateFlipType); break; diff --git a/Greenshot/Forms/ImageEditorForm.resx b/Greenshot/Forms/ImageEditorForm.resx index 6aac6a1fe..cd540ef22 100644 --- a/Greenshot/Forms/ImageEditorForm.resx +++ b/Greenshot/Forms/ImageEditorForm.resx @@ -112,18 +112,18 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 551, 17 - + 17, 54 - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -288,7 +288,7 @@ YiADhMJnBwFxHR4cRFQCG9yKAB0i1PzDQ4/OAAAAAElFTkSuQmCC - + 662, 17 @@ -506,7 +506,7 @@ AOypQZHMHzM4AAAAAElFTkSuQmCC - + 452, 17 @@ -672,7 +672,7 @@ f1UAAAAASUVORK5CYII= - + 116, 54 @@ -895,7 +895,7 @@ xn8ACR8DrWYMYwcAAAAASUVORK5CYII= - + 17, 17 \ No newline at end of file diff --git a/GreenshotPlugin/Core/GreenshotResources.resx b/GreenshotPlugin/Core/GreenshotResources.resx index c8719dacd..efa53b37a 100644 --- a/GreenshotPlugin/Core/GreenshotResources.resx +++ b/GreenshotPlugin/Core/GreenshotResources.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + AAABAAUAAAAAAAEACAClFwAAVgAAADAwAAABAAgAqA4AAPsXAAAgIAAAAQAIAKgIAACjJgAAGBgAAAEA