aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/image/MultiPixelPackedSampleModel.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/awt/image/MultiPixelPackedSampleModel.java')
-rw-r--r--libjava/java/awt/image/MultiPixelPackedSampleModel.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/libjava/java/awt/image/MultiPixelPackedSampleModel.java b/libjava/java/awt/image/MultiPixelPackedSampleModel.java
index 0525d37bd42..ab971c0e675 100644
--- a/libjava/java/awt/image/MultiPixelPackedSampleModel.java
+++ b/libjava/java/awt/image/MultiPixelPackedSampleModel.java
@@ -43,7 +43,7 @@ import gnu.java.awt.Buffers;
* multiple pixels in a single unit. Pixels have 2^n bits and 2^k pixels fit
* per data element.
*
- * @author Jerry Quinn <jlquinn@optonline.net>
+ * @author Jerry Quinn (jlquinn@optonline.net)
*/
public class MultiPixelPackedSampleModel extends SampleModel
{
@@ -59,7 +59,7 @@ public class MultiPixelPackedSampleModel extends SampleModel
public MultiPixelPackedSampleModel(int dataType, int w, int h,
int numberOfBits)
{
- this(dataType, w, h, 0, numberOfBits, 0);
+ this(dataType, w, h, numberOfBits, 0, 0);
}
public MultiPixelPackedSampleModel(int dataType, int w, int h,
@@ -101,7 +101,7 @@ public class MultiPixelPackedSampleModel extends SampleModel
// Compute scan line large enough for w pixels.
if (scanlineStride == 0)
- scanlineStride = ((dataBitOffset + w * numberOfBits) / elemBits) + 1;
+ scanlineStride = ((dataBitOffset + w * numberOfBits) / elemBits);
this.scanlineStride = scanlineStride;
@@ -112,8 +112,9 @@ public class MultiPixelPackedSampleModel extends SampleModel
bitOffsets = new int[numElems];
for (int i=0; i < numElems; i++)
{
- bitOffsets[i] = numberOfBits * i;
- bitMasks[i] = ((1 << numberOfBits) - 1) << bitOffsets[i];
+ bitOffsets[numElems - i- 1] = numberOfBits * i;
+ bitMasks[numElems - i - 1] = ((1 << numberOfBits) - 1) <<
+ bitOffsets[numElems - i - 1];
}
}