aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/image/SinglePixelPackedSampleModel.java
diff options
context:
space:
mode:
authorMichael Koch <mkoch@gcc.gnu.org>2003-09-26 19:59:56 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-09-26 19:59:56 +0000
commitfc56f7acc1f6e1d32c601054c3af3ede4d82a6db (patch)
tree8052669bcc18adae7ef9f0eb86a5e740e8fd05b0 /libjava/java/awt/image/SinglePixelPackedSampleModel.java
parent8aa43dd09b78afbb4b2c7b08f7f4b3f1fe68517e (diff)
downloadgcc-fc56f7acc1f6e1d32c601054c3af3ede4d82a6db.zip
gcc-fc56f7acc1f6e1d32c601054c3af3ede4d82a6db.tar.gz
gcc-fc56f7acc1f6e1d32c601054c3af3ede4d82a6db.tar.bz2
[multiple changes]
2003-09-26 Sascha Brawer <brawer@dandelis.ch> * java/awt/image/SinglePixelPackedSampleModel.java (createDataBuffer): Save space for some pixels at the buffer end. Added Javadoc. 2003-09-26 Tom Tromey <tromey@redhat.com> * java/io/ObjectOutputStream.java (writeFields): Fixed indentation. (putFields): Likewise. From-SVN: r71829
Diffstat (limited to 'libjava/java/awt/image/SinglePixelPackedSampleModel.java')
-rw-r--r--libjava/java/awt/image/SinglePixelPackedSampleModel.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/libjava/java/awt/image/SinglePixelPackedSampleModel.java b/libjava/java/awt/image/SinglePixelPackedSampleModel.java
index 77edf3d..e67353c4 100644
--- a/libjava/java/awt/image/SinglePixelPackedSampleModel.java
+++ b/libjava/java/awt/image/SinglePixelPackedSampleModel.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002 Free Software Foundation
+/* Copyright (C) 2000, 2002, 2003 Free Software Foundation
This file is part of GNU Classpath.
@@ -88,13 +88,25 @@ public class SinglePixelPackedSampleModel extends SampleModel
return new SinglePixelPackedSampleModel(dataType, w, h, bitMasks);
}
+
+ /**
+ * Creates a DataBuffer for holding pixel data in the format and
+ * layout described by this SampleModel. The returned buffer will
+ * consist of one single bank.
+ */
public DataBuffer createDataBuffer()
{
- // Important: use scanlineStride here, not width!
- int size = scanlineStride*height;
+ int size;
+
+ // We can save (scanlineStride - width) pixels at the very end of
+ // the buffer. The Sun reference implementation (J2SE 1.3.1 and
+ // 1.4.1_01) seems to do this; tested with Mauve test code.
+ size = scanlineStride * (height - 1) + width;
+
return Buffers.createBuffer(getDataType(), size);
}
+
public int[] getSampleSize()
{
return sampleSize;