summaryrefslogtreecommitdiff
path: root/gdk-pixbuf
diff options
context:
space:
mode:
author05:27:43 2000 Owen Taylor <otaylor@redhat.com>2000-04-24 05:28:02 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-04-24 05:28:02 +0000
commita77a3d135d8f22db793db5dfa40a7762ae1e39c9 (patch)
tree861c0690763e77110211de820ac9def5fe4ad90b /gdk-pixbuf
parent16814166ba3459ddd994b49d41a015d8d62e256d (diff)
downloadgtk+-a77a3d135d8f22db793db5dfa40a7762ae1e39c9.tar.gz
Properly offset y coordinate accordining to render_y0.
2000-04-22 05:27:43 2000 Owen Taylor <otaylor@redhat.com> * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly offset y coordinate accordining to render_y0. * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero dest_x, dest_y.
Diffstat (limited to 'gdk-pixbuf')
-rw-r--r--gdk-pixbuf/ChangeLog8
-rw-r--r--gdk-pixbuf/gdk-pixbuf-scale.c9
-rw-r--r--gdk-pixbuf/pixops/pixops.c2
3 files changed, 15 insertions, 4 deletions
diff --git a/gdk-pixbuf/ChangeLog b/gdk-pixbuf/ChangeLog
index ec63ea5375..f51b3517c0 100644
--- a/gdk-pixbuf/ChangeLog
+++ b/gdk-pixbuf/ChangeLog
@@ -1,3 +1,11 @@
+2000-04-22 05:27:43 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
+ offset y coordinate accordining to render_y0.
+
+ * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
+ dest_x, dest_y.
+
2000-04-22 James Henstridge <james@daa.com.au>
* gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
diff --git a/gdk-pixbuf/gdk-pixbuf-scale.c b/gdk-pixbuf/gdk-pixbuf-scale.c
index 8b5a159e48..23c4ffa571 100644
--- a/gdk-pixbuf/gdk-pixbuf-scale.c
+++ b/gdk-pixbuf/gdk-pixbuf-scale.c
@@ -68,7 +68,8 @@ gdk_pixbuf_scale (const GdkPixbuf *src,
offset_y = floor (offset_y + 0.5);
pixops_scale (dest->pixels + dest_y * dest->rowstride + dest_x * dest->n_channels,
- -offset_x, -offset_y, dest_width - offset_x, dest_height - offset_y,
+ dest_x - offset_x, dest_y - offset_y,
+ dest_x + dest_width - offset_x, dest_y + dest_height - offset_y,
dest->rowstride, dest->n_channels, dest->has_alpha,
src->pixels, src->width, src->height,
src->rowstride, src->n_channels, src->has_alpha,
@@ -118,7 +119,8 @@ gdk_pixbuf_composite (const GdkPixbuf *src,
offset_x = floor (offset_x + 0.5);
offset_y = floor (offset_y + 0.5);
pixops_composite (dest->pixels + dest_y * dest->rowstride + dest_x * dest->n_channels,
- -offset_x, -offset_y, dest_width - offset_x, dest_height - offset_y,
+ dest_x - offset_x, dest_y - offset_y,
+ dest_x + dest_width - offset_x, dest_y + dest_height - offset_y,
dest->rowstride, dest->n_channels, dest->has_alpha,
src->pixels, src->width, src->height,
src->rowstride, src->n_channels, src->has_alpha,
@@ -180,7 +182,8 @@ gdk_pixbuf_composite_color (const GdkPixbuf *src,
offset_y = floor (offset_y + 0.5);
pixops_composite_color (dest->pixels + dest_y * dest->rowstride + dest_x * dest->n_channels,
- -offset_x, -offset_y, dest_width - offset_x, dest_height - offset_y,
+ dest_x - offset_x, dest_y - offset_y,
+ dest_x + dest_width - offset_x, dest_y + dest_height - offset_y,
dest->rowstride, dest->n_channels, dest->has_alpha,
src->pixels, src->width, src->height,
src->rowstride, src->n_channels, src->has_alpha,
diff --git a/gdk-pixbuf/pixops/pixops.c b/gdk-pixbuf/pixops/pixops.c
index 040f1df6d0..d9592659d0 100644
--- a/gdk-pixbuf/pixops/pixops.c
+++ b/gdk-pixbuf/pixops/pixops.c
@@ -93,7 +93,7 @@ pixops_scale_nearest (guchar *dest_buf,
for (i = 0; i < (render_y1 - render_y0); i++)
{
- const guchar *src = src_buf + ((i * y_step + y_step / 2) >> SCALE_SHIFT) * src_rowstride;
+ const guchar *src = src_buf + (((i + render_y0) * y_step + y_step / 2) >> SCALE_SHIFT) * src_rowstride;
guchar *dest = dest_buf + i * dest_rowstride;
x = render_x0 * x_step + x_step / 2;