aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/image
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@redhat.com>2003-09-17 19:06:55 +0000
committerGraydon Hoare <graydon@gcc.gnu.org>2003-09-17 19:06:55 +0000
commit3b2d7c47c40faaf768857fdde27e18a801453d94 (patch)
tree1b8a9b7ac4a553f1917df84bf7861cd9b07999a0 /libjava/java/awt/image
parenteb26c76c647b9ce601f44f1c1e714875dbf9c6f4 (diff)
downloadgcc-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.java28
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)