java.awt.image

Interface ImageConsumer

Known Implementing Classes:
AreaAveragingScaleFilter, BufferedImageFilter, CropImageFilter, GrayFilter, ImageFilter, PixelGrabber, ReplicateScaleFilter, RGBImageFilter

public interface ImageConsumer

An object implementing the ImageProducer interface can use objects implementing this interface to deliver the image data.

Field Summary

static int
COMPLETESCANLINES
The pixel order is in multiples of complete scanlines.
static int
IMAGEABORTED
Production of the image has been aborted.
static int
IMAGEERROR
Indicates an error occurred while producing an image.
static int
RANDOMPIXELORDER
The pixel order may be random.
static int
SINGLEFRAME
The pixels will be delivered with multiple calls to setPixels.
static int
SINGLEFRAMEDONE
A single frame is complete but more will follow.
static int
SINGLEPASS
The pixels will be delivered in a single pass.
static int
STATICIMAGEDONE
The image is complete and no more pixels or frames will follow.
static int
TOPDOWNLEFTRIGHT
The pixel order is top-down, left-right.

Method Summary

void
imageComplete(int status)
The ImageProducer calls this method to indicate a single frame or the entire image is complete.
void
setColorModel(ColorModel model)
This ColorModel should indicate the model used by the majority of calls to setPixels.
void
setDimensions(int width, int height)
An ImageProducer indicates the size of the image being produced using this method.
void
setHints(int flags)
The ImageProducer should call this method with a bit mask of hints from any of RANDOMPIXELORDER, TOPDOWNLEFTRIGHT, COMPLETESCANLINES, SINGLEPASS, SINGLEFRAME.
void
setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int offset, int scansize)
Deliver a subset of an ImageProducer's pixels to this ImageConsumer.
void
setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int offset, int scansize)
Deliver a subset of an ImageProducer's pixels to this ImageConsumer.
void
setProperties(Hashtable props)
An ImageProducer can set a list of properties associated with this image by using this method.

Field Details

COMPLETESCANLINES

public static final int COMPLETESCANLINES
The pixel order is in multiples of complete scanlines.
Field Value:
4
See Also:
setHints(int)

IMAGEABORTED

public static final int IMAGEABORTED
Production of the image has been aborted.
Field Value:
4

IMAGEERROR

public static final int IMAGEERROR
Indicates an error occurred while producing an image.
Field Value:
1

RANDOMPIXELORDER

public static final int RANDOMPIXELORDER
The pixel order may be random. This should be the default assumption of the ImageConsumer.
Field Value:
1
See Also:
setHints(int)

SINGLEFRAME

public static final int SINGLEFRAME
The pixels will be delivered with multiple calls to setPixels. The image contains a single frame which ends when imageComplete is called with the STATICIMAGEDONE flag. If the image is constantly changing such as with video then the end of each frame is marked by a similar call to imageComplete with the SINGLEFRAMEDONE flag.
Field Value:
16

SINGLEFRAMEDONE

public static final int SINGLEFRAMEDONE
A single frame is complete but more will follow.
Field Value:
2

SINGLEPASS

public static final int SINGLEPASS
The pixels will be delivered in a single pass. There is at most one call to setPixels for any single pixel.
Field Value:
8

STATICIMAGEDONE

public static final int STATICIMAGEDONE
The image is complete and no more pixels or frames will follow.
Field Value:
3

TOPDOWNLEFTRIGHT

public static final int TOPDOWNLEFTRIGHT
The pixel order is top-down, left-right.
Field Value:
2
See Also:
setHints(int)

Method Details

imageComplete

public void imageComplete(int status)
The ImageProducer calls this method to indicate a single frame or the entire image is complete. The method is also used to indicate an error in loading or producing the image.
Parameters:
status - the status of image production, represented by a bitwise OR of ImageConsumer flags

setColorModel

public void setColorModel(ColorModel model)
This ColorModel should indicate the model used by the majority of calls to setPixels. Each call to setPixels could however indicate a different ColorModel.
Parameters:
model - the color model to be used most often by setPixels
See Also:
ColorModel

setDimensions

public void setDimensions(int width,
                          int height)
An ImageProducer indicates the size of the image being produced using this method.
Parameters:
width - the width of the image
height - the height of the image

setHints

public void setHints(int flags)
The ImageProducer should call this method with a bit mask of hints from any of RANDOMPIXELORDER, TOPDOWNLEFTRIGHT, COMPLETESCANLINES, SINGLEPASS, SINGLEFRAME.
Parameters:
flags - a bit mask of hints

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      ColorModel model,
                      byte[] pixels,
                      int offset,
                      int scansize)
Deliver a subset of an ImageProducer's pixels to this ImageConsumer. Each element of the pixels array represents one pixel. The pixel data is formatted according to the color model model. The x and y parameters are the coordinates of the block of pixels being delivered to this ImageConsumer. They are specified relative to the top left corner of the image being produced. Likewise, w and h are the pixel block's dimensions.
Parameters:
x - x coordinate of pixel block
y - y coordinate of pixel block
w - width of pixel block
h - height of pixel block
model - color model used to interpret pixel data
pixels - pixel block data
offset - offset into pixels array
scansize - width of one row in the pixel block

setPixels

public void setPixels(int x,
                      int y,
                      int w,
                      int h,
                      ColorModel model,
                      int[] pixels,
                      int offset,
                      int scansize)
Deliver a subset of an ImageProducer's pixels to this ImageConsumer. Each element of the pixels array represents one pixel. The pixel data is formatted according to the color model model. The x and y parameters are the coordinates of the rectangular region of pixels being delivered to this ImageConsumer, specified relative to the top left corner of the image being produced. Likewise, w and h are the pixel region's dimensions.
Parameters:
x - x coordinate of pixel block
y - y coordinate of pixel block
w - width of pixel block
h - height of pixel block
model - color model used to interpret pixel data
pixels - pixel block data
offset - offset into pixels array
scansize - width of one row in the pixel block

setProperties

public void setProperties(Hashtable props)
An ImageProducer can set a list of properties associated with this image by using this method.
Parameters:
props - the list of properties associated with this image

ImageConsumer.java -- Java interface for image consumption Copyright (C) 1999, 2003 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.