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);