app: pause/resume active tool when rotating canvas
In GimpDisplayShell, pause and restore the active tool when rotating the canvas, similarly to scrolling and scaling.
This commit is contained in:
parent
1bf9d1ba53
commit
cd5e4e99dd
1 changed files with 12 additions and 0 deletions
|
|
@ -69,6 +69,9 @@ gimp_display_shell_flip (GimpDisplayShell *shell,
|
|||
/* Maintain the current center of the viewport. */
|
||||
gimp_display_shell_save_viewport_center (shell, &cx, &cy);
|
||||
|
||||
/* freeze the active tool */
|
||||
gimp_display_shell_pause (shell);
|
||||
|
||||
/* Adjust the rotation angle so that the image gets reflected across the
|
||||
* horizontal, and/or vertical, axes in screen space, regardless of the
|
||||
* current rotation.
|
||||
|
|
@ -89,6 +92,9 @@ gimp_display_shell_flip (GimpDisplayShell *shell,
|
|||
|
||||
gimp_display_shell_expose_full (shell);
|
||||
gimp_display_shell_render_invalidate_full (shell);
|
||||
|
||||
/* re-enable the active tool */
|
||||
gimp_display_shell_resume (shell);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -119,6 +125,9 @@ gimp_display_shell_rotate_to (GimpDisplayShell *shell,
|
|||
|
||||
shell->rotate_angle = value;
|
||||
|
||||
/* freeze the active tool */
|
||||
gimp_display_shell_pause (shell);
|
||||
|
||||
gimp_display_shell_scroll_clamp_and_update (shell);
|
||||
|
||||
gimp_display_shell_rotated (shell);
|
||||
|
|
@ -127,6 +136,9 @@ gimp_display_shell_rotate_to (GimpDisplayShell *shell,
|
|||
|
||||
gimp_display_shell_expose_full (shell);
|
||||
gimp_display_shell_render_invalidate_full (shell);
|
||||
|
||||
/* re-enable the active tool */
|
||||
gimp_display_shell_resume (shell);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Reference in a new issue