:size-changed-detailed): change double to int in signal parameters.
2008-08-04 Michael Natterer <mitch@gimp.org> * app/core/gimpimage.[ch] (GimpImage::size-changed-detailed): change double to int in signal parameters. Remove gimp_image_emit_size_changed_signals() and call gimp_viewable_size_changed() in size-changed-detailed's default handler. * app/core/gimpimageundo.[ch] * app/core/gimpimage-undo-push.[ch]: change double to int in previous-origin related code. * app/core/gimpimage-undo.c * app/core/gimpimage-scale.c * app/core/gimpimage-crop.c * app/core/gimpimage-rotate.c * app/core/gimpimage-resize.c: call gimp_image_size_changed_detailed() instead of the removed gimp_image_emit_size_changed_signals() * app/display/gimpdisplayshell-scroll.[ch]: remove gimp_display_shell_handle_size_changed_detailed() because it handles both scrolling and scaling and doesn't belong here. * app/display/gimpdisplayshell-handlers.c: moved its code back to gimp_display_shell_size_changed_detailed_handler() and follow the double -> int change above. svn path=/trunk/; revision=26367
This commit is contained in:

committed by
Michael Natterer

parent
21754282ef
commit
26c2c6afda
@ -21,6 +21,7 @@
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "libgimpcolor/gimpcolor.h"
|
||||
#include "libgimpmath/gimpmath.h"
|
||||
#include "libgimpwidgets/gimpwidgets.h"
|
||||
|
||||
#include "display-types.h"
|
||||
@ -67,8 +68,8 @@ static void gimp_display_shell_selection_control_handler (GimpImage *i
|
||||
GimpDisplayShell *shell);
|
||||
static void gimp_display_shell_size_changed_detailed_handler
|
||||
(GimpImage *image,
|
||||
gdouble previous_origin_x,
|
||||
gdouble previous_origin_y,
|
||||
gint previous_origin_x,
|
||||
gint previous_origin_y,
|
||||
GimpDisplayShell *shell);
|
||||
static void gimp_display_shell_resolution_changed_handler (GimpImage *image,
|
||||
GimpDisplayShell *shell);
|
||||
@ -481,13 +482,32 @@ gimp_display_shell_update_sample_point_handler (GimpImage *image,
|
||||
|
||||
static void
|
||||
gimp_display_shell_size_changed_detailed_handler (GimpImage *image,
|
||||
gdouble previous_origin_x,
|
||||
gdouble previous_origin_y,
|
||||
gint previous_origin_x,
|
||||
gint previous_origin_y,
|
||||
GimpDisplayShell *shell)
|
||||
{
|
||||
gimp_display_shell_handle_size_changed_detailed (shell,
|
||||
previous_origin_x,
|
||||
previous_origin_y);
|
||||
if (shell->display->config->resize_windows_on_resize)
|
||||
{
|
||||
/* If the window is resized just center the image in it when it
|
||||
* has change size
|
||||
*/
|
||||
gimp_display_shell_shrink_wrap (shell, FALSE);
|
||||
gimp_display_shell_center_image_on_next_size_allocate (shell);
|
||||
}
|
||||
else
|
||||
{
|
||||
gint scaled_previous_origin_x = SCALEX (shell, previous_origin_x);
|
||||
gint scaled_previous_origin_y = SCALEY (shell, previous_origin_y);
|
||||
|
||||
/* Note that we can't use gimp_display_shell_scroll_private() here
|
||||
* because that would expose the image twice, causing unwanted
|
||||
* flicker.
|
||||
*/
|
||||
gimp_display_shell_scale_by_values (shell, gimp_zoom_model_get_factor (shell->zoom),
|
||||
shell->offset_x + scaled_previous_origin_x,
|
||||
shell->offset_y + scaled_previous_origin_y,
|
||||
FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user