blob: caf87d108847d2f2dd190ce0d219fadfe24b3bdb [file] [log] [blame]
/*
* 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 Igor V. Stolyarov
* @version $Revision$
*/
package java.awt.image;
import java.util.Hashtable;
/**
* The ImageConsumer interface provides the data about the image and about how
* its data is delivered. A ImageProducer provides all of the information about
* the image using the methods defined in this interface.
*
* @since Android 1.0
*/
public interface ImageConsumer {
/**
* The Constant RANDOMPIXELORDER indicates that the pixels are delivered in
* a random order.
*/
public static final int RANDOMPIXELORDER = 1;
/**
* The Constant TOPDOWNLEFTRIGHT indicates that the pixels are delivered in
* top-down, left-to-right order.
*/
public static final int TOPDOWNLEFTRIGHT = 2;
/**
* The Constant COMPLETESCANLINES indicates that the pixels are delivered in
* complete scanline.
*/
public static final int COMPLETESCANLINES = 4;
/**
* The Constant SINGLEPASS indicates that pixels are delivered in a single
* pass.
*/
public static final int SINGLEPASS = 8;
/**
* The Constant SINGLEFRAME indicates that image consists of single frame.
*/
public static final int SINGLEFRAME = 16;
/**
* The Constant IMAGEERROR indicates an image error during image producing.
*/
public static final int IMAGEERROR = 1;
/**
* The Constant SINGLEFRAMEDONE indicates that only one of the image's
* frames is completed.
*/
public static final int SINGLEFRAMEDONE = 2;
/**
* The Constant STATICIMAGEDONE indicates that the image is completed.
*/
public static final int STATICIMAGEDONE = 3;
/**
* The Constant IMAGEABORTED indicates that the image producing process is
* aborted.
*/
public static final int IMAGEABORTED = 4;
/**
* Sets the properties for the image associated with this ImageConsumer.
*
* @param props
* the properties for the image associated with this
* ImageConsumer.
*/
public void setProperties(Hashtable<?, ?> props);
/**
* Sets the ColorModel object.
*
* @param model
* the new ColorModel.
*/
public void setColorModel(ColorModel model);
/**
* Sets the pixels for the specified rectangular area of the image.
*
* @param x
* the X coordinate of rectangular area.
* @param y
* the Y coordinate of rectangular area.
* @param w
* the width of rectangular area.
* @param h
* the height of rectangular area.
* @param model
* the specified ColorModel to be used for pixels converting.
* @param pixels
* the array of pixels.
* @param off
* the offset of pixels array.
* @param scansize
* the distance from the one row of pixels to the next row in the
* specified array.
*/
public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off,
int scansize);
/**
* Sets the pixels for the specified rectangular area of the image.
*
* @param x
* the X coordinate of rectangular area.
* @param y
* the Y coordinate of rectangular area.
* @param w
* the width of rectangular area.
* @param h
* the height of rectangular area.
* @param model
* the specified ColorModel to be used for pixels converting.
* @param pixels
* the array of pixels.
* @param off
* the offset of pixels array.
* @param scansize
* the distance from the one row of pixels to the next row in the
* specified array.
*/
public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off,
int scansize);
/**
* Sets the dimensions of a source image.
*
* @param width
* the width of the image.
* @param height
* the height of the image.
*/
public void setDimensions(int width, int height);
/**
* Sets the hint flags of pixels order, which is used by the ImageConsumer
* for obtaining pixels from the ImageProducer for which this ImageConsumer
* is added.
*
* @param hintflags
* the mask of hint flags.
*/
public void setHints(int hintflags);
/**
* THis method is called in the one of the following cases:
* <ul>
* <li>The ImageProducer (for which this ImageConsumer is added) has been
* delivered all pixels of the source image.</li>
* <li>A one frame of an animation has been completed.</li>
* <li>An error while loading or producing of the image has occurred.
* </ul>
*
* @param status
* the status of image producing.
*/
public void imageComplete(int status);
}