2003/10/29 03:09:11
authorxwt <xwt@xwt.org>
Fri, 30 Jan 2004 07:40:30 +0000 (07:40 +0000)
committerxwt <xwt@xwt.org>
Fri, 30 Jan 2004 07:40:30 +0000 (07:40 +0000)
darcs-hash:20040130074030-3ac31-ac37f044e56953cde2d21bfe578aec6aab40ec2a.gz

src/org/xwt/plat/X11.java

index ba739ec..b8652cb 100644 (file)
@@ -169,9 +169,19 @@ public class X11 extends POSIX {
         }
 
         public void drawPictureAlphaOnly(Picture source, int dx, int dy, int cx1, int cy1, int cx2, int cy2, int rgb) {        
+           cx1 = Math.max(dx, cx1);
+           cy1 = Math.max(dy, cy1);
+           cx2 = Math.min(dx + width, cx2); 
+           cy2 = Math.min(dy + height, cy2); 
+           if (cx1 >= cx2 || cy1 >= cy2) return;
             slowDrawPicture(source, dx, dy, cx1, cy1, cx2, cy2, rgb, true);
         }
         public void drawPicture(Picture source, int dx, int dy, int cx1, int cy1, int cx2, int cy2) {
+           cx1 = Math.max(dx, cx1);
+           cy1 = Math.max(dy, cy1);
+           cx2 = Math.min(dx + width, cx2); 
+           cy2 = Math.min(dy + height, cy2); 
+           if (cx1 >= cx2 || cy1 >= cy2) return;
             if (((X11Picture)source).doublebuf != null)
                 fastDrawPicture(source, dx, dy, cx1, cy1, cx2, cy2);
             else