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.java1162
1 files changed, 1162 insertions, 0 deletions
diff --git a/awt/javax/imageio/ImageReader.java b/awt/javax/imageio/ImageReader.java
new file mode 100644
index 0000000..cf282ed
--- /dev/null
+++ b/awt/javax/imageio/ImageReader.java
@@ -0,0 +1,1162 @@
+/*
+ * 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.
+ *
+ * @since Android 1.0
+ */
+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 instantiates 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
+ * if 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 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 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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
+ * if 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 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 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 width
+ * the total width of the updated area.
+ * @param height
+ * the total height of the 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 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");
+ }
+}