mirror of https://github.com/GNOME/gimp.git
removed function gimp_display_shell_scroll_get_scaled_viewport_offset() as
2008-11-14 Sven Neumann <sven@gimp.org> * app/display/gimpdisplayshell-scroll.[ch]: removed function gimp_display_shell_scroll_get_scaled_viewport_offset() as it was only returning -shell->offset_x and -shell->offset_y and it started to show up in profiles. * app/display/gimpdisplayshell-draw.c * app/display/gimpdisplayshell-transform.c * app/display/gimpdisplayshell-scale.c: use the shell offsets directly. svn path=/trunk/; revision=27644
This commit is contained in:
parent
987824b301
commit
47c39d6c97
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2008-11-14 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/display/gimpdisplayshell-scroll.[ch]: removed function
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset() as it was
|
||||
only returning -shell->offset_x and -shell->offset_y and it
|
||||
started to show up in profiles.
|
||||
|
||||
* app/display/gimpdisplayshell-draw.c
|
||||
* app/display/gimpdisplayshell-transform.c
|
||||
* app/display/gimpdisplayshell-scale.c: use the shell offsets
|
||||
directly.
|
||||
|
||||
2008-11-14 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/display/gimpdisplayshell-preview.c
|
||||
|
|
|
@ -574,7 +574,9 @@ gimp_display_shell_draw_area (const GimpDisplayShell *shell,
|
|||
if (! shell->display->image)
|
||||
return;
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell, &sx, &sy);
|
||||
sx = - shell->offset_x;
|
||||
sy = - shell->offset_y;
|
||||
|
||||
gimp_display_shell_draw_get_scaled_image_size (shell, &sw, &sh);
|
||||
|
||||
/* check if the passed in area intersects with
|
||||
|
|
|
@ -164,8 +164,6 @@ gimp_display_shell_scale_update_rulers (GimpDisplayShell *shell)
|
|||
gdouble vertical_lower;
|
||||
gdouble vertical_upper;
|
||||
gdouble vertical_max_size;
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
|
||||
if (! shell->display)
|
||||
return;
|
||||
|
@ -213,28 +211,23 @@ gimp_display_shell_scale_update_rulers (GimpDisplayShell *shell)
|
|||
|
||||
/* Adjust due to scrolling */
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
|
||||
if (image)
|
||||
{
|
||||
horizontal_lower -= img2real (shell, TRUE,
|
||||
horizontal_lower += img2real (shell, TRUE,
|
||||
FUNSCALEX (shell,
|
||||
(gdouble) scaled_viewport_offset_x));
|
||||
horizontal_upper -= img2real (shell, TRUE,
|
||||
(gdouble) shell->offset_x));
|
||||
horizontal_upper += img2real (shell, TRUE,
|
||||
FUNSCALEX (shell,
|
||||
(gdouble) scaled_viewport_offset_x));
|
||||
(gdouble) shell->offset_x));
|
||||
|
||||
vertical_lower -= img2real (shell, FALSE,
|
||||
vertical_lower += img2real (shell, FALSE,
|
||||
FUNSCALEY (shell,
|
||||
(gdouble) scaled_viewport_offset_y));
|
||||
vertical_upper -= img2real (shell, FALSE,
|
||||
(gdouble) shell->offset_y));
|
||||
vertical_upper += img2real (shell, FALSE,
|
||||
FUNSCALEY (shell,
|
||||
(gdouble) scaled_viewport_offset_y));
|
||||
(gdouble) shell->offset_y));
|
||||
}
|
||||
|
||||
|
||||
/* Finally setup the actual rulers */
|
||||
|
||||
gimp_ruler_set_range (GIMP_RULER (shell->hrule),
|
||||
|
@ -455,7 +448,7 @@ gimp_display_shell_scale_fit_in (GimpDisplayShell *shell)
|
|||
GIMP_ZOOM_TO,
|
||||
zoom_factor,
|
||||
GIMP_ZOOM_FOCUS_BEST_GUESS);
|
||||
|
||||
|
||||
gimp_display_shell_scroll_center_image (shell, TRUE, TRUE);
|
||||
}
|
||||
|
||||
|
|
|
@ -433,18 +433,12 @@ gimp_display_shell_scroll_get_scaled_viewport (const GimpDisplayShell *shell,
|
|||
gint *w,
|
||||
gint *h)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
|
||||
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
if (x) *x = -scaled_viewport_offset_x;
|
||||
if (y) *y = -scaled_viewport_offset_y;
|
||||
if (w) *w = shell->disp_width;
|
||||
if (h) *h = shell->disp_height;
|
||||
*x = shell->offset_x;
|
||||
*y = shell->offset_y;
|
||||
*w = shell->disp_width;
|
||||
*h = shell->disp_height;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -467,30 +461,10 @@ gimp_display_shell_scroll_get_viewport (const GimpDisplayShell *shell,
|
|||
{
|
||||
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
|
||||
|
||||
if (x) *x = shell->offset_x / shell->scale_x;
|
||||
if (y) *y = shell->offset_y / shell->scale_y;
|
||||
if (w) *w = shell->disp_width / shell->scale_x;
|
||||
if (h) *h = shell->disp_height / shell->scale_y;
|
||||
}
|
||||
|
||||
/**
|
||||
* gimp_display_shell_scroll_get_scaled_viewport_offset:
|
||||
* @shell:
|
||||
* @x:
|
||||
* @y:
|
||||
*
|
||||
* Gets the scaled image offset in viewport coordinates
|
||||
*
|
||||
**/
|
||||
void
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (const GimpDisplayShell *shell,
|
||||
gint *x,
|
||||
gint *y)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
|
||||
|
||||
if (x) *x = -shell->offset_x;
|
||||
if (y) *y = -shell->offset_y;
|
||||
*x = shell->offset_x / shell->scale_x;
|
||||
*y = shell->offset_y / shell->scale_y;
|
||||
*w = shell->disp_width / shell->scale_x;
|
||||
*h = shell->disp_height / shell->scale_y;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -552,8 +526,8 @@ gimp_display_shell_scroll_get_render_start_offset (const GimpDisplayShell *shell
|
|||
{
|
||||
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
|
||||
|
||||
if (offset_x) *offset_x = MAX (0, shell->offset_x);
|
||||
if (offset_y) *offset_y = MAX (0, shell->offset_y);
|
||||
*offset_x = MAX (0, shell->offset_x);
|
||||
*offset_y = MAX (0, shell->offset_y);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -53,9 +53,6 @@ void gimp_display_shell_scroll_get_viewport (const GimpDisplaySh
|
|||
gdouble *y,
|
||||
gdouble *w,
|
||||
gdouble *h);
|
||||
void gimp_display_shell_scroll_get_scaled_viewport_offset (const GimpDisplayShell *shell,
|
||||
gint *x,
|
||||
gint *y);
|
||||
void gimp_display_shell_scroll_get_disp_offset (const GimpDisplayShell *shell,
|
||||
gint *disp_xoffset,
|
||||
gint *disp_yoffset);
|
||||
|
|
|
@ -50,9 +50,6 @@ gimp_display_shell_transform_coordinate (const GimpDisplayShell *shell,
|
|||
GimpCoords *image_coords,
|
||||
GimpCoords *display_coords)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
|
||||
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
|
||||
g_return_if_fail (image_coords != NULL);
|
||||
g_return_if_fail (display_coords != NULL);
|
||||
|
@ -62,12 +59,8 @@ gimp_display_shell_transform_coordinate (const GimpDisplayShell *shell,
|
|||
display_coords->x = SCALEX (shell, image_coords->x);
|
||||
display_coords->y = SCALEY (shell, image_coords->y);
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
|
||||
display_coords->x += scaled_viewport_offset_x;
|
||||
display_coords->y += scaled_viewport_offset_y;
|
||||
display_coords->x -= shell->offset_x;
|
||||
display_coords->y -= shell->offset_y;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -84,21 +77,14 @@ gimp_display_shell_untransform_coordinate (const GimpDisplayShell *shell,
|
|||
GimpCoords *display_coords,
|
||||
GimpCoords *image_coords)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
|
||||
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
|
||||
g_return_if_fail (display_coords != NULL);
|
||||
g_return_if_fail (image_coords != NULL);
|
||||
|
||||
*image_coords = *display_coords;
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
|
||||
image_coords->x = display_coords->x - scaled_viewport_offset_x;
|
||||
image_coords->y = display_coords->y - scaled_viewport_offset_y;
|
||||
image_coords->x = display_coords->x + shell->offset_x;
|
||||
image_coords->y = display_coords->y + shell->offset_y;
|
||||
|
||||
image_coords->x /= shell->scale_x;
|
||||
image_coords->y /= shell->scale_y;
|
||||
|
@ -112,8 +98,6 @@ gimp_display_shell_transform_xy (const GimpDisplayShell *shell,
|
|||
gint *ny,
|
||||
gboolean use_offsets)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
gint offset_x = 0;
|
||||
gint offset_y = 0;
|
||||
gint64 tx;
|
||||
|
@ -137,11 +121,8 @@ gimp_display_shell_transform_xy (const GimpDisplayShell *shell,
|
|||
tx = ((gint64) x * shell->x_src_dec) / shell->x_dest_inc;
|
||||
ty = ((gint64) y * shell->y_src_dec) / shell->y_dest_inc;
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
tx += scaled_viewport_offset_x;
|
||||
ty += scaled_viewport_offset_y;
|
||||
tx -= shell->offset_x;
|
||||
ty -= shell->offset_y;
|
||||
|
||||
/* The projected coordinates might overflow a gint in the case of big
|
||||
images at high zoom levels, so we clamp them here to avoid problems. */
|
||||
|
@ -174,8 +155,6 @@ gimp_display_shell_untransform_xy (const GimpDisplayShell *shell,
|
|||
gboolean round,
|
||||
gboolean use_offsets)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
gint offset_x = 0;
|
||||
gint offset_y = 0;
|
||||
gint64 tx;
|
||||
|
@ -193,11 +172,8 @@ gimp_display_shell_untransform_xy (const GimpDisplayShell *shell,
|
|||
gimp_item_get_offset (item, &offset_x, &offset_y);
|
||||
}
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
tx = (gint64) x - scaled_viewport_offset_x;
|
||||
ty = (gint64) y - scaled_viewport_offset_y;
|
||||
tx = (gint64) x + shell->offset_x;
|
||||
ty = (gint64) y + shell->offset_y;
|
||||
|
||||
tx *= shell->x_dest_inc;
|
||||
ty *= shell->y_dest_inc;
|
||||
|
@ -233,8 +209,6 @@ gimp_display_shell_transform_xy_f (const GimpDisplayShell *shell,
|
|||
gdouble *ny,
|
||||
gboolean use_offsets)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
gint offset_x = 0;
|
||||
gint offset_y = 0;
|
||||
|
||||
|
@ -250,12 +224,8 @@ gimp_display_shell_transform_xy_f (const GimpDisplayShell *shell,
|
|||
gimp_item_get_offset (item, &offset_x, &offset_y);
|
||||
}
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
|
||||
*nx = SCALEX (shell, x + offset_x) + scaled_viewport_offset_x;
|
||||
*ny = SCALEY (shell, y + offset_y) + scaled_viewport_offset_y;
|
||||
*nx = SCALEX (shell, x + offset_x) - shell->offset_x;
|
||||
*ny = SCALEY (shell, y + offset_y) - shell->offset_y;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -280,8 +250,6 @@ gimp_display_shell_untransform_xy_f (const GimpDisplayShell *shell,
|
|||
gdouble *ny,
|
||||
gboolean use_offsets)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
gint offset_x = 0;
|
||||
gint offset_y = 0;
|
||||
|
||||
|
@ -297,12 +265,8 @@ gimp_display_shell_untransform_xy_f (const GimpDisplayShell *shell,
|
|||
gimp_item_get_offset (item, &offset_x, &offset_y);
|
||||
}
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
|
||||
*nx = (x - scaled_viewport_offset_x) / shell->scale_x - offset_x;
|
||||
*ny = (y - scaled_viewport_offset_y) / shell->scale_y - offset_y;
|
||||
*nx = (x + shell->offset_x) / shell->scale_x - offset_x;
|
||||
*ny = (y + shell->offset_y) / shell->scale_y - offset_y;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -340,21 +304,15 @@ gimp_display_shell_transform_points (const GimpDisplayShell *shell,
|
|||
|
||||
for (i = 0; i < n_points ; i++)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
gdouble x = points[i].x + offset_x;
|
||||
gdouble y = points[i].y + offset_y;
|
||||
|
||||
x = x * shell->x_src_dec / shell->x_dest_inc;
|
||||
y = y * shell->y_src_dec / shell->y_dest_inc;
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
|
||||
coords[i].x = CLAMP (PROJ_ROUND64 (x) + scaled_viewport_offset_x,
|
||||
coords[i].x = CLAMP (PROJ_ROUND64 (x) - shell->offset_x,
|
||||
G_MININT, G_MAXINT);
|
||||
coords[i].y = CLAMP (PROJ_ROUND64 (y) + scaled_viewport_offset_y,
|
||||
coords[i].y = CLAMP (PROJ_ROUND64 (y) - shell->offset_y,
|
||||
G_MININT, G_MAXINT);
|
||||
}
|
||||
}
|
||||
|
@ -394,21 +352,15 @@ gimp_display_shell_transform_coords (const GimpDisplayShell *shell,
|
|||
|
||||
for (i = 0; i < n_coords ; i++)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
gdouble x = image_coords[i].x + offset_x;
|
||||
gdouble y = image_coords[i].y + offset_y;
|
||||
|
||||
x = x * shell->x_src_dec / shell->x_dest_inc;
|
||||
y = y * shell->y_src_dec / shell->y_dest_inc;
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
|
||||
disp_coords[i].x = CLAMP (PROJ_ROUND64 (x) + scaled_viewport_offset_x,
|
||||
disp_coords[i].x = CLAMP (PROJ_ROUND64 (x) - shell->offset_x,
|
||||
G_MININT, G_MAXINT);
|
||||
disp_coords[i].y = CLAMP (PROJ_ROUND64 (y) + scaled_viewport_offset_y,
|
||||
disp_coords[i].y = CLAMP (PROJ_ROUND64 (y) - shell->offset_y,
|
||||
G_MININT, G_MAXINT);
|
||||
}
|
||||
}
|
||||
|
@ -448,8 +400,6 @@ gimp_display_shell_transform_segments (const GimpDisplayShell *shell,
|
|||
|
||||
for (i = 0; i < n_segs ; i++)
|
||||
{
|
||||
gint scaled_viewport_offset_x;
|
||||
gint scaled_viewport_offset_y;
|
||||
gint64 x1, x2;
|
||||
gint64 y1, y2;
|
||||
|
||||
|
@ -463,18 +413,10 @@ gimp_display_shell_transform_segments (const GimpDisplayShell *shell,
|
|||
y1 = (y1 * shell->y_src_dec) / shell->y_dest_inc;
|
||||
y2 = (y2 * shell->y_src_dec) / shell->y_dest_inc;
|
||||
|
||||
gimp_display_shell_scroll_get_scaled_viewport_offset (shell,
|
||||
&scaled_viewport_offset_x,
|
||||
&scaled_viewport_offset_y);
|
||||
|
||||
dest_segs[i].x1 = CLAMP (x1 + scaled_viewport_offset_x,
|
||||
G_MININT, G_MAXINT);
|
||||
dest_segs[i].x2 = CLAMP (x2 + scaled_viewport_offset_x,
|
||||
G_MININT, G_MAXINT);
|
||||
dest_segs[i].y1 = CLAMP (y1 + scaled_viewport_offset_y,
|
||||
G_MININT, G_MAXINT);
|
||||
dest_segs[i].y2 = CLAMP (y2 + scaled_viewport_offset_y,
|
||||
G_MININT, G_MAXINT);
|
||||
dest_segs[i].x1 = CLAMP (x1 - shell->offset_x, G_MININT, G_MAXINT);
|
||||
dest_segs[i].x2 = CLAMP (x2 - shell->offset_x, G_MININT, G_MAXINT);
|
||||
dest_segs[i].y1 = CLAMP (y1 - shell->offset_y, G_MININT, G_MAXINT);
|
||||
dest_segs[i].y2 = CLAMP (y2 - shell->offset_y, G_MININT, G_MAXINT);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue