summaryrefslogtreecommitdiffstats
path: root/awt/javax/imageio/ImageReader.java
diff options
context:
space:
mode:
Diffstat (limited to 'awt/javax/imageio/ImageReader.java')
-rw-r--r--awt/javax/imageio/ImageReader.java1100
1 files changed, 1100 insertions, 0 deletions
diff --git a/awt/javax/imageio/ImageReader.java b/awt/javax/imageio/ImageReader.java
new file mode 100644
index 0000000..780de26
--- /dev/null
+++ b/awt/javax/imageio/ImageReader.java
@@ -0,0 +1,1100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Rustem V. Rafikov
+ * @version $Revision: 1.3 $
+ */
+package javax.imageio;
+
+import javax.imageio.spi.ImageReaderSpi;
+import javax.imageio.stream.ImageInputStream;
+import javax.imageio.metadata.IIOMetadata;
+import javax.imageio.event.IIOReadWarningListener;
+import javax.imageio.event.IIOReadProgressListener;
+import javax.imageio.event.IIOReadUpdateListener;
+import java.util.Locale;
+import java.util.List;
+import java.util.Iterator;
+import java.util.Set;
+import java.io.IOException;
+import java.awt.image.BufferedImage;
+import java.awt.image.Raster;
+import java.awt.image.RenderedImage;
+import java.awt.*;
+
+/**
+ * The ImageReader class is an abstract class for decoding images.
+ * ImageReader objects are instantiated by the service provider
+ * interface, ImageReaderSpi class, for the specific format.
+ * ImageReaderSpi class should be registered with the IIORegistry,
+ * which uses them for format recognition and presentation of available
+ * format readers and writers.
+ */
+public abstract class ImageReader {
+
+ /** The originating provider. */
+ protected ImageReaderSpi originatingProvider;
+
+ /** The input object such as ImageInputStream. */
+ protected Object input;
+
+ /** The seek forward only. */
+ protected boolean seekForwardOnly;
+
+ /**
+ * The ignore metadata flag indicates whether current input source
+ * has been marked as metadata is allowed to be ignored by setInput.
+ */
+ protected boolean ignoreMetadata;
+
+ /** The minimum index. */
+ protected int minIndex;
+
+ /** The available locales. */
+ protected Locale[] availableLocales;
+
+ /** The locale. */
+ protected Locale locale;
+
+ /** The list of warning listeners. */
+ protected List<IIOReadWarningListener> warningListeners;
+
+ /** The list of warning locales. */
+ protected List<Locale> warningLocales;
+
+ /** The list of progress listeners. */
+ protected List<IIOReadProgressListener> progressListeners;
+
+ /** The list of update listeners. */
+ protected List<IIOReadUpdateListener> updateListeners;
+
+ /**
+ * Instantiates a new ImageReader.
+ *
+ * @param originatingProvider the ImageReaderSpi which
+ * instanties this ImageReader.
+ */
+ protected ImageReader(ImageReaderSpi originatingProvider) {
+ this.originatingProvider = originatingProvider;
+ }
+
+ /**
+ * Gets the format name of this input source.
+ *
+ * @return the format name of this input source.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public String getFormatName() throws IOException {
+ return originatingProvider.getFormatNames()[0];
+ }
+
+ /**
+ * Gets the ImageReaderSpi which instantiated this ImageReader.
+ *
+ * @return the ImageReaderSpi.
+ */
+ public ImageReaderSpi getOriginatingProvider() {
+ return originatingProvider;
+ }
+
+ /**
+ * Sets the specified Object as the input source of this ImageReader.
+ *
+ * @param input the input source, it can
+ * be an ImageInputStream or other supported objects.
+ * @param seekForwardOnly indicates whether the stream must
+ * be read sequentially from its current starting point.
+ * @param ignoreMetadata parameter which indicates
+ * if metadata may be ignored during reads or not.
+ */
+ public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata) {
+ if (input != null) {
+ if (!isSupported(input) && !(input instanceof ImageInputStream)) {
+ throw new IllegalArgumentException("input " + input + " is not supported");
+ }
+ }
+ this.minIndex = 0;
+ this.seekForwardOnly = seekForwardOnly;
+ this.ignoreMetadata = ignoreMetadata;
+ this.input = input;
+ }
+
+ /**
+ * Checks if is supported.
+ *
+ * @param input the input
+ *
+ * @return true, if is supported
+ */
+ private boolean isSupported(Object input) {
+ ImageReaderSpi spi = getOriginatingProvider();
+ if (null != spi) {
+ Class[] outTypes = spi.getInputTypes();
+ for (Class<?> element : outTypes) {
+ if (element.isInstance(input)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Sets the specified Object as the input source of this ImageReader.
+ * Metadata is not ignored.
+ *
+ * @param input the input source, it can
+ * be an ImageInputStream or other supported objects.
+ * @param seekForwardOnly indicates whether the stream must
+ * be read sequentially from its current starting point.
+ */
+ public void setInput(Object input, boolean seekForwardOnly) {
+ setInput(input, seekForwardOnly, false);
+ }
+
+ /**
+ * Sets the specified Object as the input source of this ImageReader.
+ * Metadata is not ignored and forward seeking is not required.
+ *
+ * @param input the input source, it can
+ * be ImageInputStream or other objects.
+ */
+ public void setInput(Object input) {
+ setInput(input, false, false);
+ }
+
+ /**
+ * Gets the input source object of this ImageReader, or returns null.
+ *
+ * @return the the input source object such as ImageInputStream,
+ * or null.
+ */
+ public Object getInput() {
+ return input;
+ }
+
+ /**
+ * Checks if the input source supports only forward reading, or not.
+ *
+ * @return true, if the input source supports only forward reading,
+ * false otherwise.
+ */
+ public boolean isSeekForwardOnly() {
+ return seekForwardOnly;
+ }
+
+ /**
+ * Returns true if the current input source allows
+ * to metadata to be ignored by passing true as
+ * the ignoreMetadata argument to the setInput method.
+ *
+ * @return true, if true if the current input source allows
+ * to metadata to be ignored by passing true as
+ * the ignoreMetadata argument to the setInput method.
+ */
+ public boolean isIgnoringMetadata() {
+ return ignoreMetadata;
+ }
+
+ /**
+ * Gets the minimum valid index for reading an image, thumbnail,
+ * or image metadata.
+ *
+ * @return the minimum valid index for reading an image, thumbnail,
+ * or image metadata.
+ */
+ public int getMinIndex() {
+ return minIndex;
+ }
+
+ /**
+ * Gets the available locales.
+ *
+ * @return an array of the available locales.
+ */
+ public Locale[] getAvailableLocales() {
+ return availableLocales;
+ }
+
+ /**
+ * Sets the locale to this ImageReader.
+ *
+ * @param locale the Locale.
+ */
+ public void setLocale(Locale locale) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Gets the locale of this ImageReader.
+ *
+ * @return the locale of this ImageReader.
+ */
+ public Locale getLocale() {
+ return locale;
+ }
+
+ /**
+ * Gets the number of images available in the current input source.
+ *
+ * @param allowSearch the parameter which indicates what
+ * a search is required; if false, the reader may return -1
+ * without searching.
+ *
+ * @return the number of images.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public abstract int getNumImages(boolean allowSearch) throws IOException;
+
+ /**
+ * Gets the width of the specified image in input source.
+ *
+ * @param imageIndex the image index.
+ *
+ * @return the width in pixels.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public abstract int getWidth(int imageIndex) throws IOException;
+
+ /**
+ * Gets the height of the specified image in input source.
+ *
+ * @param imageIndex the image index.
+ *
+ * @return the height in pixels.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public abstract int getHeight(int imageIndex) throws IOException;
+
+ /**
+ * Checks if the storage format of the specified image places
+ * an impediment on random pixels access or not.
+ *
+ * @param imageIndex the image's index.
+ *
+ * @return true, if the storage format of the specified image places
+ * an impediment on random pixels access, false otherwise.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public boolean isRandomAccessEasy(int imageIndex) throws IOException {
+ return false; //def
+ }
+
+ /**
+ * Gets the aspect ratio (width devided by height) of the image.
+ *
+ * @param imageIndex the image index.
+ *
+ * @return the aspect ratio of the image.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public float getAspectRatio(int imageIndex) throws IOException {
+ return (float) getWidth(imageIndex) / getHeight(imageIndex);
+ }
+
+ /**
+ * Gets an ImageTypeSpecifier which indicates the type of the
+ * specified image.
+ *
+ * @param imageIndex the image's index.
+ *
+ * @return the ImageTypeSpecifier.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public ImageTypeSpecifier getRawImageType(int imageIndex) throws IOException {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Gets an Iterator of ImageTypeSpecifier objects which are associated
+ * with image types that may be used when decoding specified image.
+ *
+ * @param imageIndex the image index.
+ *
+ * @return an Iterator of ImageTypeSpecifier objects.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException;
+
+ /**
+ * Gets the default ImageReadParam object.
+ *
+ * @return the ImageReadParam object.
+ */
+ public ImageReadParam getDefaultReadParam() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Gets an IIOMetadata object for this input source.
+ *
+ * @return the IIOMetadata.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public abstract IIOMetadata getStreamMetadata() throws IOException;
+
+ /**
+ * Gets an IIOMetadata object for this input source.
+ *
+ * @param formatName the desired metadata format to be used in the
+ * returned IIOMetadata object.
+ * @param nodeNames the node names of the document.
+ *
+ * @return the IIOMetadata.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public IIOMetadata getStreamMetadata(String formatName, Set<String> nodeNames)
+ throws IOException {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Gets the image metadata of the specified image in input source.
+ *
+ * @param imageIndex the image index.
+ *
+ * @return the IIOMetadata.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public abstract IIOMetadata getImageMetadata(int imageIndex) throws IOException;
+
+ /**
+ * Gets the image metadata of the specified image input source.
+ *
+ * @param imageIndex the image index.
+ * @param formatName the desired metadata format to be used in the
+ * returned IIOMetadata object.
+ * @param nodeNames the node names which can be contained in
+ * the document.
+ *
+ * @return the IIOMetadata.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public IIOMetadata getImageMetadata(int imageIndex, String formatName,
+ Set<String> nodeNames) throws IOException {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Reads the specified image and returns it as a BufferedImage
+ * using the default ImageReadParam.
+ *
+ * @param imageIndex the image index.
+ *
+ * @return the BufferedImage.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public BufferedImage read(int imageIndex) throws IOException {
+ return read(imageIndex, null);
+ }
+
+ /**
+ * Reads the specified image and returns it as a BufferedImage
+ * using the specified ImageReadParam.
+ *
+ * @param imageIndex the image index.
+ * @param param the ImageReadParam.
+ *
+ * @return the BufferedImage.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public abstract BufferedImage read(int imageIndex, ImageReadParam param) throws IOException;
+
+ /**
+ * Reads the specified image and returns an IIOImage with this image,
+ * thumbnails, and metadata for this image, using
+ * the specified ImageReadParam.
+ *
+ * @param imageIndex the image index.
+ * @param param the ImageReadParam.
+ *
+ * @return the IIOImage.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public IIOImage readAll(int imageIndex, ImageReadParam param) throws IOException {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Returns an Iterator of IIOImages from the input source.
+ *
+ * @param params the Iterator of ImageReadParam objects.
+ *
+ * @return the iterator of IIOImages.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public Iterator<IIOImage> readAll(Iterator<? extends ImageReadParam> params) throws IOException {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Checks whether or not this plug-in supports reading a Raster.
+ *
+ * @return true, if this plug-in supports reading a Raster,
+ * false otherwise.
+ */
+ public boolean canReadRaster() {
+ return false; //def
+ }
+
+ /**
+ * Reads a new Raster object which contains the raw pixel data from
+ * the image.
+ *
+ * @param imageIndex the image index.
+ * @param param the ImageReadParam.
+ *
+ * @return the Raster.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public Raster readRaster(int imageIndex, ImageReadParam param) throws IOException {
+ throw new UnsupportedOperationException("Unsupported");
+ }
+
+ /**
+ * Checks if the specified image has tiles or not.
+ *
+ * @param imageIndex the image's index.
+ *
+ * @return true, if the specified image has tiles,
+ * false otherwise.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public boolean isImageTiled(int imageIndex) throws IOException {
+ return false; //def
+ }
+
+ /**
+ * Gets the tile width in the specified image.
+ *
+ * @param imageIndex the image's index.
+ *
+ * @return the tile width.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public int getTileWidth(int imageIndex) throws IOException {
+ return getWidth(imageIndex); //def
+ }
+
+ /**
+ * Gets the tile height in the specified image.
+ *
+ * @param imageIndex the image's index.
+ *
+ * @return the tile height.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public int getTileHeight(int imageIndex) throws IOException {
+ return getHeight(imageIndex); //def
+ }
+
+ /**
+ * Gets the X coordinate of the upper left corner of the tile grid in the
+ * specified image.
+ *
+ * @param imageIndex the image's index.
+ *
+ * @return the X coordinate of the upper left corner of the tile grid.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public int getTileGridXOffset(int imageIndex) throws IOException {
+ return 0; //def
+ }
+
+ /**
+ * Gets the Y coordinate of the upper left corner of the tile grid in the
+ * specified image.
+ *
+ * @param imageIndex the image's index.
+ *
+ * @return the Y coordinate of the upper left corner of the tile grid.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public int getTileGridYOffset(int imageIndex) throws IOException {
+ return 0; //def
+ }
+
+ /**
+ * Reads the tile specified by the tileX and tileY parameters
+ * of the specified image and returns it as a BufferedImage.
+ *
+ * @param imageIndex the image index.
+ * @param tileX the X index of tile.
+ * @param tileY the Y index of tile.
+ *
+ * @return the BufferedImage.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public BufferedImage readTile(int imageIndex, int tileX, int tileY) throws IOException {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Reads the tile specified by the tileX and tileY parameters
+ * of the specified image and returns it as a Raster.
+ *
+ * @param imageIndex the image index.
+ * @param tileX the X index of tile.
+ * @param tileY the Y index of tile.
+ *
+ * @return the Raster.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public Raster readTileRaster(int imageIndex, int tileX, int tileY) throws IOException {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Reads the specified image using the specified
+ * ImageReadParam and returns it as a RenderedImage.
+ *
+ * @param imageIndex the image index.
+ * @param param the ImageReadParam.
+ *
+ * @return the RenderedImage.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param) throws IOException {
+ return read(imageIndex, param);
+ }
+
+ /**
+ * Returns true if the image format supported by this reader
+ * supports thumbnail preview images.
+ *
+ * @return true if the image format supported by this reader
+ * supports thumbnail preview images, false otherwise.
+ */
+ public boolean readerSupportsThumbnails() {
+ return false; //def
+ }
+
+ /**
+ * Checks if the specified image has thumbnails or not.
+ *
+ * @param imageIndex the image's index.
+ *
+ * @return true, if the specified image has thumbnails,
+ * false otherwise.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public boolean hasThumbnails(int imageIndex) throws IOException {
+ return getNumThumbnails(imageIndex) > 0; //def
+ }
+
+ /**
+ * Gets the number of thumbnails for the specified image.
+ *
+ * @param imageIndex the image's index.
+ *
+ * @return the number of thumbnails.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public int getNumThumbnails(int imageIndex) throws IOException {
+ return 0; //def
+ }
+
+ /**
+ * Gets the width of the specified thumbnail for the specified image.
+ *
+ * @param imageIndex the image's index.
+ * @param thumbnailIndex the thumbnail's index.
+ *
+ * @return the thumbnail width.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public int getThumbnailWidth(int imageIndex, int thumbnailIndex) throws IOException {
+ return readThumbnail(imageIndex, thumbnailIndex).getWidth(); //def
+ }
+
+ /**
+ * Gets the height of the specified thumbnail for the specified image.
+ *
+ * @param imageIndex the image's index.
+ * @param thumbnailIndex the thumbnail's index.
+ *
+ * @return the thumbnail height.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public int getThumbnailHeight(int imageIndex, int thumbnailIndex) throws IOException {
+ return readThumbnail(imageIndex, thumbnailIndex).getHeight(); //def
+ }
+
+ /**
+ * Reads the thumbnail image for the specified image
+ * as a BufferedImage.
+ *
+ * @param imageIndex the image index.
+ * @param thumbnailIndex the thumbnail index.
+ *
+ * @return the BufferedImage.
+ *
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public BufferedImage readThumbnail(int imageIndex, int thumbnailIndex) throws IOException {
+ throw new UnsupportedOperationException("Unsupported"); //def
+ }
+
+ /**
+ * Requests an abort operation for current reading operation.
+ */
+ public void abort() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Checks whether or not a request to abort the current read operation
+ * has been made successfully.
+ *
+ * @return true, if the request to abort the current read operation
+ * has been made successfully, false otherwise.
+ */
+ protected boolean abortRequested() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Clears all previous abort request, and abortRequested returns false
+ * after calling this method.
+ */
+ protected void clearAbortRequest() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Adds the IIOReadWarningListener.
+ *
+ * @param listener the IIOReadWarningListener.
+ */
+ public void addIIOReadWarningListener(IIOReadWarningListener listener) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Removes the specified IIOReadWarningListener.
+ *
+ * @param listener the IIOReadWarningListener to be removed.
+ */
+ public void removeIIOReadWarningListener(IIOReadWarningListener listener) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Removes all registered IIOReadWarningListeners.
+ */
+ public void removeAllIIOReadWarningListeners() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Adds the IIOReadProgressListener.
+ *
+ * @param listener the IIOReadProgressListener.
+ */
+ public void addIIOReadProgressListener(IIOReadProgressListener listener) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Removes the specified IIOReadProgressListener.
+ *
+ * @param listener the IIOReadProgressListener to be removed.
+ */
+ public void removeIIOReadProgressListener(IIOReadProgressListener listener) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Removes registered IIOReadProgressListeners.
+ */
+ public void removeAllIIOReadProgressListeners() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Adds the IIOReadUpdateListener.
+ *
+ * @param listener the IIOReadUpdateListener.
+ */
+ public void addIIOReadUpdateListener(IIOReadUpdateListener listener) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Removes the specified IIOReadUpdateListener.
+ *
+ * @param listener the IIOReadUpdateListener to be removed.
+ */
+ public void removeIIOReadUpdateListener(IIOReadUpdateListener listener) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Removes registered IIOReadUpdateListeners.
+ */
+ public void removeAllIIOReadUpdateListeners() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the start of an sequence of image reads
+ * by calling the sequenceStarted method on all registered
+ * IIOReadProgressListeners.
+ *
+ * @param minIndex the minimum index.
+ */
+ protected void processSequenceStarted(int minIndex) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the completion of an sequence of image reads
+ * by calling sequenceComplete method on all registered
+ * IIOReadProgressListeners.
+ */
+ protected void processSequenceComplete() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the start of an image read by calling the imageStarted
+ * method on all registered IIOReadProgressListeners.
+ *
+ * @param imageIndex the image index.
+ */
+ protected void processImageStarted(int imageIndex) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the current percentage of image completion by calling
+ * the imageProgress method on all registered IIOReadProgressListeners.
+ *
+ * @param percentageDone the percentage done.
+ */
+ protected void processImageProgress(float percentageDone) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes image completion by calling the imageComplete method
+ * on all registered IIOReadProgressListeners.
+ */
+ protected void processImageComplete() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the start of a thumbnail read by calling the
+ * thumbnailStarted method on all registered IIOReadProgressListeners.
+ *
+ * @param imageIndex the image index.
+ * @param thumbnailIndex the thumbnail index.
+ */
+ protected void processThumbnailStarted(int imageIndex, int thumbnailIndex) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the current percentage of thumbnail completion
+ * by calling the thumbnailProgress method on all registered
+ * IIOReadProgressListeners.
+ *
+ * @param percentageDone the percentage done.
+ */
+ protected void processThumbnailProgress(float percentageDone) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the completion of a thumbnail read
+ * by calling the thumbnailComplete method
+ * on all registered IIOReadProgressListeners.
+ */
+ protected void processThumbnailComplete() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes a read aborted event by calling the readAborted
+ * method on all registered IIOReadProgressListeners.
+ */
+ protected void processReadAborted() {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the beginning of a progressive pass by calling
+ * the passStarted method on all registered IIOReadUpdateListeners.
+ *
+ * @param theImage the image to be updated.
+ * @param pass the current pass index.
+ * @param minPass the minimum pass index.
+ * @param maxPass the maximum pass index.
+ * @param minX the X coordinate of of the upper left pixel.
+ * @param minY the Y coordinate of of the upper left pixel.
+ * @param periodX the horizontal separation between pixels.
+ * @param periodY the vertical separation between pixels.
+ * @param bands the number of affected bands.
+ */
+ protected void processPassStarted(BufferedImage theImage,
+ int pass,
+ int minPass,
+ int maxPass,
+ int minX,
+ int minY,
+ int periodX,
+ int periodY,
+ int[] bands) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the update of a set of samples by calling
+ * the imageUpdate method on all registered IIOReadUpdateListeners.
+ *
+ * @param theImage the image to be updated.
+ * @param minX the X coordinate of the upper left pixel.
+ * @param minY the Y coordinate of the upper left pixel.
+ * @param width the width of updated area.
+ * @param height the height of updated area.
+ * @param periodX the horizontal separation between pixels.
+ * @param periodY the vertical separation between pixels.
+ * @param bands the number of affected bands.
+ */
+ protected void processImageUpdate(BufferedImage theImage,
+ int minX,
+ int minY,
+ int width,
+ int height,
+ int periodX,
+ int periodY,
+ int[] bands) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the end of a progressive pass by calling passComplete
+ * method of registered IIOReadUpdateListeners.
+ *
+ * @param theImage the image to be updated.
+ */
+ protected void processPassComplete(BufferedImage theImage) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the beginning of a thumbnail progressive pass
+ * by calling the thumbnailPassStarted method on all
+ * registered IIOReadUpdateListeners.
+ *
+ * @param theThumbnail the the thumbnail to be updated.
+ * @param pass the current pass index.
+ * @param minPass the minimum pass index.
+ * @param maxPass the maximum pass index.
+ * @param minX the X coordinate of the upper left pixel.
+ * @param minY the Y coordinate of the upper left pixel.
+ * @param periodX the horizontal separation between pixels.
+ * @param periodY the vertical separation between pixels.
+ * @param bands the number of affected bands.
+ */
+ protected void processThumbnailPassStarted(BufferedImage theThumbnail,
+ int pass,
+ int minPass,
+ int maxPass,
+ int minX,
+ int minY,
+ int periodX,
+ int periodY,
+ int[] bands) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the update of a set of samples in a thumbnail
+ * image by calling the thumbnailUpdate method on all
+ * registered IIOReadUpdateListeners.
+ *
+ * @param theThumbnail the the thumbnail to be updated.
+ * @param minX the X coordinate of the upper left pixel.
+ * @param minY the Y coordinate of the upper left pixel.
+ * @param periodX the horizontal separation between pixels.
+ * @param periodY the vertical separation between pixels.
+ * @param bands the number of affected bands.
+ */
+ protected void processThumbnailUpdate(BufferedImage theThumbnail,
+ int minX,
+ int minY,
+ int width,
+ int height,
+ int periodX,
+ int periodY,
+ int[] bands) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes the end of a thumbnail progressive pass
+ * by calling the thumbnailPassComplete method
+ * on all registered IIOReadUpdateListeners.
+ *
+ * @param theThumbnail the thumbnail to be updated.
+ */
+ protected void processThumbnailPassComplete(BufferedImage theThumbnail) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes a warning message by calling warningOccurred method
+ * of registered IIOReadWarningListeners.
+ *
+ * @param warning the warning.
+ */
+ protected void processWarningOccurred(String warning) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Processes a warning by calling the warningOccurred method
+ * of on all registered IIOReadWarningListeners.
+ *
+ * @param baseName the base name of ResourceBundles.
+ * @param keyword the keyword to index the warning among ResourceBundles.
+ */
+ protected void processWarningOccurred(String baseName, String keyword) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Resets this ImageReader.
+ */
+ public void reset() {
+ // def
+ setInput(null, false);
+ setLocale(null);
+ removeAllIIOReadUpdateListeners();
+ removeAllIIOReadWarningListeners();
+ removeAllIIOReadProgressListeners();
+ clearAbortRequest();
+ }
+
+ /**
+ * Disposes of any resources.
+ */
+ public void dispose() {
+ // do nothing by def
+ }
+
+ /**
+ * Gets the region of source image that should be read with the
+ * specified width, height and ImageReadParam.
+ *
+ * @param param the ImageReadParam object, or null.
+ * @param srcWidth the source image's width.
+ * @param srcHeight the source image's height.
+ *
+ * @return the Rectangle of source region.
+ */
+ protected static Rectangle getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Computes the specified source region and the specified destination
+ * region with the specified the width and height of the source image,
+ * an optional destination image, and an ImageReadParam.
+ *
+ * @param param the an ImageReadParam object, or null.
+ * @param srcWidth the source image's width.
+ * @param srcHeight the source image's height.
+ * @param image the destination image.
+ * @param srcRegion the source region.
+ * @param destRegion the destination region.
+ */
+ protected static void computeRegions(ImageReadParam param,
+ int srcWidth,
+ int srcHeight,
+ BufferedImage image,
+ Rectangle srcRegion,
+ Rectangle destRegion) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Checks the validity of the source and destination band and is called
+ * when the reader knows the number of bands of the source image and
+ * the number of bands of the destination image.
+ *
+ * @param param the ImageReadParam for reading the Image.
+ * @param numSrcBands the number of bands in the source.
+ * @param numDstBands the number of bands in the destination.
+ */
+ protected static void checkReadParamBandSettings(ImageReadParam param,
+ int numSrcBands,
+ int numDstBands) {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+
+ /**
+ * Gets the destination image where the decoded data is written.
+ *
+ * @param param the ImageReadParam.
+ * @param imageTypes the iterator of ImageTypeSpecifier objects.
+ * @param width the width of the image being decoded.
+ * @param height the height of the image being decoded.
+ *
+ * @return the BufferedImage where decoded pixels should be written.
+ *
+ * @throws IIOException the IIOException is thrown if
+ * there is no suitable ImageTypeSpecifier.
+ */
+ protected static BufferedImage getDestination(ImageReadParam param, Iterator<ImageTypeSpecifier> imageTypes,
+ int width,
+ int height)
+ throws IIOException {
+ throw new UnsupportedOperationException("Not implemented yet");
+ }
+}