Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29116)
+++ ChangeLog	(working copy)
@@ -1,3 +1,12 @@
+2009-12-11 Eric Wasylishen <ewasylishen@gmail.com>
+
+	* Source/cairo/CairoGState.m: 
+	Add a call to cairo_pattern_set_extend(pattern, CAIRO_EXTEND_PAD);
+	on the pattern used to draw images. This keeps the edges of images
+	crisp when the are scaled up.
+	The description from the Cairo docs is: "pixels outside of the
+	pattern copy the closest pixel from the source".
+
 2009-11-19 Doug Simons
 
 	* Source/x11/XGServerWindow.m:
Index: Source/cairo/CairoGState.m
===================================================================
--- Source/cairo/CairoGState.m	(revision 29116)
+++ Source/cairo/CairoGState.m	(working copy)
@@ -1206,6 +1206,7 @@
       cairo_matrix_init_scale(&local_matrix, 1, -1);
       cairo_matrix_translate(&local_matrix, 0, -2*pixelsHigh);
       cairo_pattern_set_matrix(cpattern, &local_matrix);
+      cairo_pattern_set_extend(cpattern, CAIRO_EXTEND_PAD);
       cairo_set_source(_ct, cpattern);
       cairo_pattern_destroy(cpattern);
 
@@ -1220,6 +1221,7 @@
       cairo_matrix_init_scale(&local_matrix, 1, -1);
       cairo_matrix_translate(&local_matrix, 0, -pixelsHigh);
       cairo_pattern_set_matrix(cpattern, &local_matrix);
+      cairo_pattern_set_extend(cpattern, CAIRO_EXTEND_PAD);
       cairo_set_source(_ct, cpattern);
       cairo_pattern_destroy(cpattern);
 
