diff options
Diffstat (limited to 'libjava/classpath/java/awt/image')
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); } |

