This implements one missing method in XGraphics, which enables snappy blit scrolling and a couple of more things in Swing.

2006-07-17  Roman Kennke  <[EMAIL PROTECTED]>

        * gnu/java/awt/peer/x/XGraphics.java
        (copyArea): Implemented.

/Roman
Index: gnu/java/awt/peer/x/XGraphics.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/x/XGraphics.java,v
retrieving revision 1.1
diff -u -1 -2 -r1.1 XGraphics.java
--- gnu/java/awt/peer/x/XGraphics.java	29 Jun 2006 15:15:56 -0000	1.1
+++ gnu/java/awt/peer/x/XGraphics.java	17 Jul 2006 15:05:04 -0000
@@ -325,26 +325,28 @@
             b = clip.getBounds();
           }
         setClip(b.x, b.y, b.width, b.height);
       }
     else
       {
         setClip(0, 0, xdrawable.width, xdrawable.height);
       }
   }
 
   public void copyArea(int x, int y, int width, int height, int dx, int dy)
   {
-    // FIXME: Implement this.
-    throw new UnsupportedOperationException("Not yet implemented");
+    int srcX = x + translateX;
+    int srcY = y + translateY;
+    xdrawable.copy_area(xdrawable, xgc, srcX, srcY, width, height,
+                        srcX + dx, srcY + dy);
   }
 
   /**
    * Draws a line from point (x1, y1) to point (x2, y2).
    */
   public void drawLine(int x1, int y1, int x2, int y2)
   {
     //System.err.println("drawLine: " + (x1 + translateX) + ", " + ( y1 + translateY) + ", " + (x2 + translateX) + ", " + (y2 + translateY) + " on: " + xdrawable);
     xdrawable.line(xgc, x1 + translateX, y1 + translateY,
                    x2 + translateX, y2 + translateY);
   }
 

Reply via email to