diff options
Diffstat (limited to 'libjava/gnu/awt/xlib/XGraphics.java')
| -rw-r--r-- | libjava/gnu/awt/xlib/XGraphics.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libjava/gnu/awt/xlib/XGraphics.java b/libjava/gnu/awt/xlib/XGraphics.java index b8614023377..e27b0a18e8b 100644 --- a/libjava/gnu/awt/xlib/XGraphics.java +++ b/libjava/gnu/awt/xlib/XGraphics.java @@ -20,6 +20,7 @@ import gnu.gcj.xlib.XImage; import gnu.gcj.xlib.Drawable; import gnu.gcj.xlib.Window; import gnu.gcj.xlib.Drawable; +import gnu.gcj.xlib.Pixmap; import gnu.gcj.xlib.Visual; import gnu.awt.j2d.DirectRasterGraphics; import gnu.awt.j2d.MappedRaster; @@ -199,6 +200,16 @@ public class XGraphics implements Cloneable, DirectRasterGraphics public boolean drawImage(Image img, int x, int y, ImageObserver observer) { + if (img instanceof XOffScreenImage) + { + // FIXME: have to enforce clip, or is it OK as-is? + XGraphicsConfiguration.XOffScreenImage offScreenImage + = ((XGraphicsConfiguration.XOffScreenImage)img); + Pixmap pixmap = offScreenImage.getPixmap (); + context.copyArea (pixmap, 0, 0, x, y, + offScreenImage.getWidth (), offScreenImage.getHeight ()); + return true; + } if (clipBounds == null) return false; // ***FIXME*** |

