classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] clear clip when Shape argument is null


From: Thomas Fitzsimmons
Subject: [cp-patches] clear clip when Shape argument is null
Date: Sun, 21 Aug 2005 01:29:17 -0400

Hi,

This patch fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16822

Calling setClip(null) resets the clipping region.

Tom

2005-08-21  Thomas Fitzsimmons  <address@hidden>

        * gnu/java/awt/peer/gtk/GdkGraphics.java (setClip(Shape)): Clear
        clip when clip == null.
        * gnu/java/awt/peer/gtk/GdkGraphics2D.java (setClip(Shape)):
        Likewise.

Index: gnu/java/awt/peer/gtk/GdkGraphics2D.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GdkGraphics2D.java,v
retrieving revision 1.41
diff -u -r1.41 GdkGraphics2D.java
--- gnu/java/awt/peer/gtk/GdkGraphics2D.java    21 Aug 2005 01:35:28 -0000      
1.41
+++ gnu/java/awt/peer/gtk/GdkGraphics2D.java    21 Aug 2005 05:30:11 -0000
@@ -45,6 +45,7 @@
 import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.Composite;
+import java.awt.Dimension;
 import java.awt.Font;
 import java.awt.FontMetrics;
 import java.awt.GradientPaint;
@@ -989,7 +990,13 @@
   public void setClip(Shape s)
   {
     clip = s;
-    if (s != null)
+    if (clip == null)
+      {
+       // Reset clipping.
+       Dimension d = component.awtComponent.getSize();
+       setClip(0, 0, d.width, d.height);
+      }
+    else
       {
        cairoNewPath();
        if (s instanceof Rectangle2D)
Index: gnu/java/awt/peer/gtk/GdkGraphics.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GdkGraphics.java,v
retrieving revision 1.44
diff -u -r1.44 GdkGraphics.java
--- gnu/java/awt/peer/gtk/GdkGraphics.java      18 Aug 2005 01:22:00 -0000      
1.44
+++ gnu/java/awt/peer/gtk/GdkGraphics.java      21 Aug 2005 05:30:11 -0000
@@ -349,7 +349,13 @@
 
   public void setClip (Shape clip)
   {
-    if (clip != null)
+    if (clip == null)
+      {
+       // Reset clipping.
+       Dimension d = component.awtComponent.getSize();
+       setClip(new Rectangle (0, 0, d.width, d.height));
+      }
+    else
       setClip(clip.getBounds());
   }
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]