< 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 >