summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/java/awt/image
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/java/awt/image')
-rw-r--r--libjava/classpath/java/awt/image/AffineTransformOp.java2
-rw-r--r--libjava/classpath/java/awt/image/AreaAveragingScaleFilter.java4
-rw-r--r--libjava/classpath/java/awt/image/BufferedImage.java2
-rw-r--r--libjava/classpath/java/awt/image/PixelInterleavedSampleModel.java29
-rw-r--r--libjava/classpath/java/awt/image/RGBImageFilter.java2
-rw-r--r--libjava/classpath/java/awt/image/Raster.java2
6 files changed, 32 insertions, 9 deletions
diff --git a/libjava/classpath/java/awt/image/AffineTransformOp.java b/libjava/classpath/java/awt/image/AffineTransformOp.java
index 849c5b05048..df9db7d9636 100644
--- a/libjava/classpath/java/awt/image/AffineTransformOp.java
+++ b/libjava/classpath/java/awt/image/AffineTransformOp.java
@@ -188,7 +188,7 @@ public class AffineTransformOp implements BufferedImageOp, RasterOp
if (dst == null)
dst = createCompatibleDestImage(src, null);
- Graphics2D gr = (Graphics2D) dst.createGraphics();
+ Graphics2D gr = dst.createGraphics();
gr.setRenderingHints(hints);
gr.drawImage(src, transform, null);
return dst;
diff --git a/libjava/classpath/java/awt/image/AreaAveragingScaleFilter.java b/libjava/classpath/java/awt/image/AreaAveragingScaleFilter.java
index 44d5cec9d5f..491a2f51903 100644
--- a/libjava/classpath/java/awt/image/AreaAveragingScaleFilter.java
+++ b/libjava/classpath/java/awt/image/AreaAveragingScaleFilter.java
@@ -158,7 +158,7 @@ public class AreaAveragingScaleFilter extends ReplicateScaleFilter
* @param srcOffset - Starting offset into the source pixel data array.
* @param srcScansize - Source array scanline size.
* @param rx,ry - Scaling factor.
- * @param dstScansize - Destination array scanline size.
+ * @param destScansize - Destination array scanline size.
*/
private byte[] averagePixels(int srcx, int srcy, int srcw, int srch,
ColorModel model, byte[] srcPixels,
@@ -218,7 +218,7 @@ public class AreaAveragingScaleFilter extends ReplicateScaleFilter
* @param srcOffset - Starting offset into the source pixel data array.
* @param srcScansize - Source array scanline size.
* @param rx,ry - Scaling factor.
- * @param dstScansize - Destination array scanline size.
+ * @param destScansize - Destination array scanline size.
*/
private int[] averagePixels(int srcx, int srcy, int srcw, int srch,
ColorModel model, int[] srcPixels,
diff --git a/libjava/classpath/java/awt/image/BufferedImage.java b/libjava/classpath/java/awt/image/BufferedImage.java
index c9879461ce2..78623ccd928 100644
--- a/libjava/classpath/java/awt/image/BufferedImage.java
+++ b/libjava/classpath/java/awt/image/BufferedImage.java
@@ -41,8 +41,6 @@ package java.awt.image;
import gnu.java.awt.Buffers;
import gnu.java.awt.ClasspathGraphicsEnvironment;
import gnu.java.awt.ComponentDataBlitOp;
-import gnu.java.awt.peer.gtk.CairoSurface;
-
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GraphicsEnvironment;
diff --git a/libjava/classpath/java/awt/image/PixelInterleavedSampleModel.java b/libjava/classpath/java/awt/image/PixelInterleavedSampleModel.java
index 4c5c436edfc..3a0d4152c7d 100644
--- a/libjava/classpath/java/awt/image/PixelInterleavedSampleModel.java
+++ b/libjava/classpath/java/awt/image/PixelInterleavedSampleModel.java
@@ -69,9 +69,34 @@ public class PixelInterleavedSampleModel
*/
public SampleModel createCompatibleSampleModel(int width, int height)
{
+ // Find minimum band offset.
+ int minBandoff = bandOffsets[0];
+ int numBands = bandOffsets.length;
+ for (int i = 1; i < numBands; i++)
+ {
+ if (bandOffsets[i] < minBandoff)
+ {
+ minBandoff = bandOffsets[i];
+ }
+ }
+ // Adjust band offsets so that minimum offset is at 0.
+ int[] bandOff;
+ if (minBandoff > 0)
+ {
+ bandOff = new int[numBands];
+ for (int i = 0; i < numBands; i++)
+ {
+ bandOff[i] = bandOffsets[i] - minBandoff;
+ }
+ }
+ else
+ {
+ bandOff = bandOffsets;
+ }
+ // Adjust scanline stride for new width.
return new PixelInterleavedSampleModel(dataType, width, height,
- pixelStride, scanlineStride,
- bandOffsets);
+ pixelStride, pixelStride * width,
+ bandOff);
}
diff --git a/libjava/classpath/java/awt/image/RGBImageFilter.java b/libjava/classpath/java/awt/image/RGBImageFilter.java
index c777fecd901..3cd14239c99 100644
--- a/libjava/classpath/java/awt/image/RGBImageFilter.java
+++ b/libjava/classpath/java/awt/image/RGBImageFilter.java
@@ -245,7 +245,7 @@ public abstract class RGBImageFilter extends ImageFilter
{
for (int xp = 0; xp < w; xp++)
{
- filtered[xp] = model.getRGB((pixels[index] & 0xff));
+ filtered[xp] = model.getRGB((pixels[index]));
index++;
}
index += scansize - w;
diff --git a/libjava/classpath/java/awt/image/Raster.java b/libjava/classpath/java/awt/image/Raster.java
index d63e156f6ae..fb0950dabf3 100644
--- a/libjava/classpath/java/awt/image/Raster.java
+++ b/libjava/classpath/java/awt/image/Raster.java
@@ -302,7 +302,7 @@ public class Raster
Point location)
{
SampleModel sm = new ComponentSampleModel(dataBuffer.getDataType(),
- w, h, scanlineStride, pixelStride, bandOffsets);
+ w, h, pixelStride, scanlineStride, bandOffsets);
return createWritableRaster(sm, dataBuffer, location);
}
OpenPOWER on IntegriCloud