diff src/pixbuf-renderer.c @ 26:acd9885ebd78

Mon Mar 28 20:23:34 2005 John Ellis <johne@verizon.net> * image.[ch]: Add utility to sync image settings to user preferences. * pixbuf-renderer.c: Fix rounding errors. * preferences.c: Call image_options_sync() when applying changes. ##### Note: GQview CVS on sourceforge is not always up to date, please use ##### ##### an offical release when making enhancements and translation updates. #####
author gqview
date Tue, 29 Mar 2005 01:28:17 +0000
parents 0c3b353b666e
children 9c24765c2d3a
line wrap: on
line diff
--- a/src/pixbuf-renderer.c	Sat Mar 26 03:50:35 2005 +0000
+++ b/src/pixbuf-renderer.c	Tue Mar 29 01:28:17 2005 +0000
@@ -3105,7 +3105,7 @@
 
 void pixbuf_renderer_area_changed(PixbufRenderer *pr, gint x, gint y, gint width, gint height)
 {
-	gint sx, sy, sw, sh;
+	gint x1, y1, x2, y2;
 
 	g_return_if_fail(IS_PIXBUF_RENDERER(pr));
 
@@ -3121,12 +3121,12 @@
 		height += 2;
 		}
 
-	sx = (gint)floor((double)x * pr->scale);
-	sy = (gint)floor((double)y * pr->scale);
-	sw = (gint)ceil((double)width * pr->scale);
-	sh = (gint)ceil((double)height * pr->scale);
-
-	pr_queue(pr, sx, sy, sw, sh, FALSE, TILE_RENDER_AREA, TRUE);
+	x1 = (gint)floor((double)x * pr->scale);
+	y1 = (gint)floor((double)y * pr->scale);
+	x2 = (gint)ceil((double)(x + width) * pr->scale);
+	y2 = (gint)ceil((double)(y + height) * pr->scale);
+
+	pr_queue(pr, x1, y1, x2 - x1, y2 - y1, FALSE, TILE_RENDER_AREA, TRUE);
 }
 
 void pixbuf_renderer_zoom_adjust(PixbufRenderer *pr, gdouble increment)