diff options
author | Graydon Hoare <graydon@redhat.com> | 2003-09-17 19:06:55 +0000 |
---|---|---|
committer | Graydon Hoare <graydon@gcc.gnu.org> | 2003-09-17 19:06:55 +0000 |
commit | 3b2d7c47c40faaf768857fdde27e18a801453d94 (patch) | |
tree | 1b8a9b7ac4a553f1917df84bf7861cd9b07999a0 /libjava/java/awt/image | |
parent | eb26c76c647b9ce601f44f1c1e714875dbf9c6f4 (diff) | |
download | gcc-3b2d7c47c40faaf768857fdde27e18a801453d94.zip gcc-3b2d7c47c40faaf768857fdde27e18a801453d94.tar.gz gcc-3b2d7c47c40faaf768857fdde27e18a801453d94.tar.bz2 |
[multiple changes]
2003-09-16 Graydon Hoare <graydon@redhat.com>
* java/awt/BufferedImage.java (setData): Support non-component
sample models.
(getData): Same.
2003-09-10 Graydon Hoare <graydon@redhat.com>
* java/awt/geom/AffineTransform.java(transform): Fix airthmetic bugs.
* java/awt/geom/Arc2D.java: Approximate arc segments with cubics.
From-SVN: r71472
Diffstat (limited to 'libjava/java/awt/image')
-rw-r--r-- | libjava/java/awt/image/BufferedImage.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/libjava/java/awt/image/BufferedImage.java b/libjava/java/awt/image/BufferedImage.java index 1fd7b9b..8c6ead2 100644 --- a/libjava/java/awt/image/BufferedImage.java +++ b/libjava/java/awt/image/BufferedImage.java @@ -267,9 +267,16 @@ public class BufferedImage extends Image raster.createWritableChild(x, y, w, h, x, y, null // same bands ); - - // Refer to ComponentDataBlitOp for optimized data blitting: - ComponentDataBlitOp.INSTANCE.filter(src, dest); + if (src.getSampleModel () instanceof ComponentSampleModel + && dest.getSampleModel () instanceof ComponentSampleModel) + // Refer to ComponentDataBlitOp for optimized data blitting: + ComponentDataBlitOp.INSTANCE.filter(src, dest); + else + { + // slower path + int samples[] = src.getPixels (x, y, w, h, (int [])null); + dest.setPixels (x, y, w, h, samples); + } return dest; } @@ -540,9 +547,18 @@ public class BufferedImage extends Image raster.createWritableChild(x, y, w, h, x, y, null // same bands ); - - // Refer to ComponentDataBlitOp for optimized data blitting: - ComponentDataBlitOp.INSTANCE.filter(src, dest); + + if (src.getSampleModel () instanceof ComponentSampleModel + && dest.getSampleModel () instanceof ComponentSampleModel) + + // Refer to ComponentDataBlitOp for optimized data blitting: + ComponentDataBlitOp.INSTANCE.filter(src, dest); + else + { + // slower path + int samples[] = src.getPixels (x, y, w, h, (int [])null); + dest.setPixels (x, y, w, h, samples); + } } public void setRGB(int x, int y, int argb) |