mirror of
https://github.com/greenshot/greenshot
synced 2025-08-14 02:37:03 -07:00
This should keep the slack workaround but fix #367
This commit is contained in:
parent
c701aad58c
commit
8ce4735aad
1 changed files with 11 additions and 10 deletions
|
@ -153,9 +153,11 @@ namespace Greenshot.Forms
|
|||
|
||||
_currentForm = this;
|
||||
|
||||
// Enable the AnimatingForm
|
||||
EnableAnimation = true;
|
||||
|
||||
// clean up
|
||||
FormClosed += ClosedHandler;
|
||||
Resize += CaptureForm_Resize;
|
||||
_capture = capture;
|
||||
_windows = windows;
|
||||
_captureMode = capture.CaptureDetails.CaptureMode;
|
||||
|
@ -168,8 +170,6 @@ namespace Greenshot.Forms
|
|||
DoubleBuffered = !IsTerminalServerSession;
|
||||
Text = @"Greenshot capture form";
|
||||
|
||||
SetSize();
|
||||
|
||||
// Make sure we never capture the capture-form
|
||||
WindowDetails.RegisterIgnoreHandle(Handle);
|
||||
// Un-register at close
|
||||
|
@ -187,8 +187,10 @@ namespace Greenshot.Forms
|
|||
// Set the zoomer animation
|
||||
InitializeZoomer(Conf.ZoomerEnabled);
|
||||
|
||||
// Enable the AnimatingForm
|
||||
EnableAnimation = true;
|
||||
// Make sure the size is set correctly
|
||||
SetSize();
|
||||
|
||||
Resize += CaptureForm_Resize;
|
||||
}
|
||||
|
||||
private void CaptureForm_Resize(object sender, EventArgs e)
|
||||
|
@ -205,12 +207,12 @@ namespace Greenshot.Forms
|
|||
|
||||
private void SetSize()
|
||||
{
|
||||
Log.DebugFormat("Setting CaptureForm with dimensions {0}", _capture.ScreenBounds);
|
||||
Log.DebugFormat("Setting CaptureForm to dimensions {0}", _capture.ScreenBounds);
|
||||
SuspendLayout();
|
||||
Bounds = _capture.ScreenBounds;
|
||||
ResumeLayout();
|
||||
|
||||
// Fix missing focus
|
||||
// Make sure it's visible and has focus
|
||||
ToFront = true;
|
||||
TopMost = true;
|
||||
}
|
||||
|
@ -220,16 +222,15 @@ namespace Greenshot.Forms
|
|||
/// </summary>
|
||||
private void InitializeZoomer(bool isOn)
|
||||
{
|
||||
var startingPosition = new Rectangle(_cursorPos, Size.Empty);
|
||||
if (isOn)
|
||||
{
|
||||
// Initialize the zoom with a invalid position
|
||||
_zoomAnimator = new RectangleAnimator( startingPosition , new Rectangle(int.MaxValue, int.MaxValue, 0, 0), FramesForMillis(1000), EasingType.Quintic, EasingMode.EaseOut);
|
||||
_zoomAnimator = new RectangleAnimator(Rectangle.Empty, new Rectangle(int.MaxValue, int.MaxValue, 0, 0), FramesForMillis(1000), EasingType.Quintic, EasingMode.EaseOut);
|
||||
VerifyZoomAnimation(_cursorPos, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
_zoomAnimator?.ChangeDestination(startingPosition, FramesForMillis(1000));
|
||||
_zoomAnimator?.ChangeDestination(new Rectangle(Point.Empty, Size.Empty), FramesForMillis(1000));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue