< prev index next >
src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 175,196 ****
*/
public BMPImageReader(ImageReaderSpi originator) {
super(originator);
}
! /** Overrides the method defined in the superclass. */
public void setInput(Object input,
boolean seekForwardOnly,
boolean ignoreMetadata) {
super.setInput(input, seekForwardOnly, ignoreMetadata);
iis = (ImageInputStream) input; // Always works
if(iis != null)
iis.setByteOrder(ByteOrder.LITTLE_ENDIAN);
resetHeaderInfo();
}
! /** Overrides the method defined in the superclass. */
public int getNumImages(boolean allowSearch) throws IOException {
if (iis == null) {
throw new IllegalStateException(I18N.getString("GetNumImages0"));
}
if (seekForwardOnly && allowSearch) {
--- 175,196 ----
*/
public BMPImageReader(ImageReaderSpi originator) {
super(originator);
}
! @Override
public void setInput(Object input,
boolean seekForwardOnly,
boolean ignoreMetadata) {
super.setInput(input, seekForwardOnly, ignoreMetadata);
iis = (ImageInputStream) input; // Always works
if(iis != null)
iis.setByteOrder(ByteOrder.LITTLE_ENDIAN);
resetHeaderInfo();
}
! @Override
public int getNumImages(boolean allowSearch) throws IOException {
if (iis == null) {
throw new IllegalStateException(I18N.getString("GetNumImages0"));
}
if (seekForwardOnly && allowSearch) {
*** 208,217 ****
--- 208,218 ----
throw new IIOException(I18N.getString("BMPImageReader6"), e);
}
return width;
}
+ @Override
public int getHeight(int imageIndex) throws IOException {
checkIndex(imageIndex);
try {
readHeader();
} catch (IllegalArgumentException e) {
*** 760,769 ****
--- 761,771 ----
bitmapStart = iis.getStreamPosition();
gotHeader = true;
}
+ @Override
public Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex)
throws IOException {
checkIndex(imageIndex);
try {
readHeader();
*** 774,787 ****
--- 776,791 ----
list.add(new ImageTypeSpecifier(originalColorModel,
originalSampleModel));
return list.iterator();
}
+ @Override
public ImageReadParam getDefaultReadParam() {
return new ImageReadParam();
}
+ @Override
public IIOMetadata getImageMetadata(int imageIndex)
throws IOException {
checkIndex(imageIndex);
if (metadata == null) {
try {
*** 791,814 ****
--- 795,821 ----
}
}
return metadata;
}
+ @Override
public IIOMetadata getStreamMetadata() throws IOException {
return null;
}
+ @Override
public boolean isRandomAccessEasy(int imageIndex) throws IOException {
checkIndex(imageIndex);
try {
readHeader();
} catch (IllegalArgumentException e) {
throw new IIOException(I18N.getString("BMPImageReader6"), e);
}
return metadata.compression == BI_RGB;
}
+ @Override
public BufferedImage read(int imageIndex, ImageReadParam param)
throws IOException {
if (iis == null) {
throw new IllegalStateException(I18N.getString("BMPImageReader5"));
*** 1045,1058 ****
--- 1052,1067 ----
processImageComplete();
return bi;
}
+ @Override
public boolean canReadRaster() {
return true;
}
+ @Override
public Raster readRaster(int imageIndex,
ImageReadParam param) throws IOException {
BufferedImage bi = read(imageIndex, param);
return bi.getData();
}
*** 1062,1071 ****
--- 1071,1081 ----
bi = null;
sampleModel = originalSampleModel = null;
colorModel = originalColorModel = null;
}
+ @Override
public void reset() {
super.reset();
iis = null;
resetHeaderInfo();
}
*** 1922,1939 ****
--- 1932,1951 ----
destinationRegion.y +
destinationRegion.height);
}
reader.addIIOReadProgressListener(new EmbeddedProgressAdapter() {
+ @Override
public void imageProgress(ImageReader source,
float percentageDone)
{
processImageProgress(percentageDone);
}
});
reader.addIIOReadUpdateListener(new IIOReadUpdateListener() {
+ @Override
public void imageUpdate(ImageReader source,
BufferedImage theImage,
int minX, int minY,
int width, int height,
int periodX, int periodY,
*** 1941,1955 ****
--- 1953,1969 ----
{
processImageUpdate(theImage, minX, minY,
width, height,
periodX, periodY, bands);
}
+ @Override
public void passComplete(ImageReader source,
BufferedImage theImage)
{
processPassComplete(theImage);
}
+ @Override
public void passStarted(ImageReader source,
BufferedImage theImage,
int pass,
int minPass, int maxPass,
int minX, int minY,
*** 1958,1985 ****
--- 1972,2003 ----
{
processPassStarted(theImage, pass, minPass, maxPass,
minX, minY, periodX, periodY,
bands);
}
+ @Override
public void thumbnailPassComplete(ImageReader source,
BufferedImage thumb) {}
+ @Override
public void thumbnailPassStarted(ImageReader source,
BufferedImage thumb,
int pass,
int minPass, int maxPass,
int minX, int minY,
int periodX, int periodY,
int[] bands) {}
+ @Override
public void thumbnailUpdate(ImageReader source,
BufferedImage theThumbnail,
int minX, int minY,
int width, int height,
int periodX, int periodY,
int[] bands) {}
});
reader.addIIOReadWarningListener(new IIOReadWarningListener() {
+ @Override
public void warningOccurred(ImageReader source, String warning)
{
processWarningOccurred(warning);
}
});
*** 1997,2014 ****
--- 2015,2041 ----
reader.read(0, param);
return bi;
}
private class EmbeddedProgressAdapter implements IIOReadProgressListener {
+ @Override
public void imageComplete(ImageReader src) {}
+ @Override
public void imageProgress(ImageReader src, float percentageDone) {}
+ @Override
public void imageStarted(ImageReader src, int imageIndex) {}
+ @Override
public void thumbnailComplete(ImageReader src) {}
+ @Override
public void thumbnailProgress(ImageReader src, float percentageDone) {}
+ @Override
public void thumbnailStarted(ImageReader src, int iIdx, int tIdx) {}
+ @Override
public void sequenceComplete(ImageReader src) {}
+ @Override
public void sequenceStarted(ImageReader src, int minIndex) {}
+ @Override
public void readAborted(ImageReader src) {}
}
private static Boolean isLinkedProfileDisabled = null;
< prev index next >