diff options
Diffstat (limited to 'awt/javax/imageio/ImageReader.java')
-rw-r--r-- | awt/javax/imageio/ImageReader.java | 1162 |
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"); + } +} |