Hi,

This patch fixes a clipping problem when drawing images in CairoGraphics2D, if your clip region is smaller than the image.

Cheers,
Francis


2007-02-26  Francis Kung  <[EMAIL PROTECTED]>

        * gnu/java/awt/peer/gtk/CairoGraphics2D.java
        (drawCairoSurface): Do not reset clip.
        (drawImage(Image,AffineTransform,Color,ImageObserver)): Likewise.
Index: gnu/java/awt/peer/gtk/CairoGraphics2D.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java,v
retrieving revision 1.65
diff -u -r1.65 CairoGraphics2D.java
--- gnu/java/awt/peer/gtk/CairoGraphics2D.java	23 Feb 2007 22:18:05 -0000	1.65
+++ gnu/java/awt/peer/gtk/CairoGraphics2D.java	26 Feb 2007 18:33:32 -0000
@@ -1548,7 +1548,6 @@
     // data to be premultiplied.
     
     cairoSave(nativePointer);
-    cairoResetClip(nativePointer);
     Rectangle2D bounds = new Rectangle2D.Double(0, 0, width, height);
     bounds = getTransformedBounds(bounds, xform);
     cairoRectangle(nativePointer, bounds.getX(), bounds.getY(),
@@ -1708,7 +1707,6 @@
     //   after drawing
     Shape newBounds = tx.createTransformedShape(bounds);
     cairoSave(nativePointer);
-    cairoResetClip(nativePointer);
     walkPath(newBounds.getPathIterator(null), false);
     cairoClip(nativePointer);
     

Reply via email to