java.awt.image

Class MemoryImageSource

Implemented Interfaces:
ImageProducer

public class MemoryImageSource
extends Object
implements ImageProducer

An image producer that delivers image data from an array.

Constructor Summary

MemoryImageSource(int w, int h, int[] pix, int off, int scan)
Constructs an ImageProducer from memory using the default RGB ColorModel.
MemoryImageSource(int w, int h, int[] pix, int off, int scan, Hashtable props)
Constructs an ImageProducer from memory using the default RGB ColorModel.
MemoryImageSource(int w, int h, ColorModel cm, byte[] pix, int off, int scan)
Construct an image producer that reads image data from a byte array.
MemoryImageSource(int w, int h, ColorModel cm, byte[] pix, int off, int scan, Hashtable props)
Constructs an ImageProducer from memory.
MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, int scan)
Construct an image producer that reads image data from an integer array.
MemoryImageSource(int w, int h, ColorModel cm, int[] pix, int off, int scan, Hashtable props)
Constructs an ImageProducer from memory

Method Summary

void
addConsumer(ImageConsumer ic)
Used to register an ImageConsumer with this ImageProducer.
boolean
isConsumer(ImageConsumer ic)
Used to determine if the given ImageConsumer is already registered with this ImageProducer.
void
newPixels()
Send an animation frame to the image consumers.
void
newPixels(byte[] newpix, ColorModel newmodel, int offset, int scansize)
void
newPixels(int x, int y, int w, int h)
Send an animation frame to the image consumers containing the specified pixels unless setFullBufferUpdates is set.
void
newPixels(int x, int y, int w, int h, boolean framenotify)
Send an animation frame to the image consumers containing the specified pixels unless setFullBufferUpdates is set.
void
newPixels(int[] newpix, ColorModel newmodel, int offset, int scansize)
void
removeConsumer(ImageConsumer ic)
Used to remove an ImageConsumer from the list of registered consumers for this ImageProducer.
void
requestTopDownLeftRightResend(ImageConsumer ic)
Used to register an ImageConsumer with this ImageProducer and then request that this producer resend the image data in the order top-down, left-right.
void
setAnimated(boolean animated)
Changes a flag to indicate whether this MemoryImageSource supports animations.
void
setFullBufferUpdates(boolean fullbuffers)
A flag to indicate whether or not to send full buffer updates when sending animation.
void
startProduction(ImageConsumer ic)
Used to register an ImageConsumer with this ImageProducer and then immediately start reconstruction of the image data to be delivered to all registered consumers.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

MemoryImageSource

public MemoryImageSource(int w,
                         int h,
                         int[] pix,
                         int off,
                         int scan)
Constructs an ImageProducer from memory using the default RGB ColorModel.
Parameters:
w - the image width.
h - the image height.
pix - the image data.
off - the offset to the first pixel in the array.
scan - the number of array elements from a pixel on one row to the corresponding pixel on the next row.

MemoryImageSource

public MemoryImageSource(int w,
                         int h,
                         int[] pix,
                         int off,
                         int scan,
                         Hashtable props)
Constructs an ImageProducer from memory using the default RGB ColorModel.
Parameters:
w - the image width.
h - the image height.
pix - the image data.
off - the offset to the first pixel in the array.
scan - the number of array elements from a pixel on one row to the corresponding pixel on the next row.
props - image properties (null permitted).

MemoryImageSource

public MemoryImageSource(int w,
                         int h,
                         ColorModel cm,
                         byte[] pix,
                         int off,
                         int scan)
Construct an image producer that reads image data from a byte array.
Parameters:
w - width of image
h - height of image
cm - the color model used to represent pixel values
pix - a byte array of pixel values
off - the offset into the array at which the first pixel is stored
scan - the number of array elements that represents a single pixel row

MemoryImageSource

public MemoryImageSource(int w,
                         int h,
                         ColorModel cm,
                         byte[] pix,
                         int off,
                         int scan,
                         Hashtable props)
Constructs an ImageProducer from memory.
Parameters:
w - the image width.
h - the image height.
cm - the color model.
pix - the image data.
off - the offset to the first pixel in the array.
scan - the number of array elements from a pixel on one row to the corresponding pixel on the next row.
props - image properties (null permitted).

MemoryImageSource

public MemoryImageSource(int w,
                         int h,
                         ColorModel cm,
                         int[] pix,
                         int off,
                         int scan)
Construct an image producer that reads image data from an integer array.
Parameters:
w - width of image
h - height of image
cm - the color model used to represent pixel values
pix - an integer array of pixel values
off - the offset into the array at which the first pixel is stored
scan - the number of array elements that represents a single pixel row

MemoryImageSource

public MemoryImageSource(int w,
                         int h,
                         ColorModel cm,
                         int[] pix,
                         int off,
                         int scan,
                         Hashtable props)
Constructs an ImageProducer from memory
Parameters:
w - the image width.
h - the image height.
cm - the color model.
pix - the image data.
off - the offset to the first pixel in the array.
scan - the number of array elements from a pixel on one row to the corresponding pixel on the next row.
props - image properties (null permitted).

Method Details

addConsumer

public void addConsumer(ImageConsumer ic)
Used to register an ImageConsumer with this ImageProducer.
Specified by:
addConsumer in interface ImageProducer
Parameters:
ic - the image consumer.

isConsumer

public boolean isConsumer(ImageConsumer ic)
Used to determine if the given ImageConsumer is already registered with this ImageProducer.
Specified by:
isConsumer in interface ImageProducer
Parameters:
ic - the image consumer.

newPixels

public void newPixels()
Send an animation frame to the image consumers.

newPixels

public void newPixels(byte[] newpix,
                      ColorModel newmodel,
                      int offset,
                      int scansize)

newPixels

public void newPixels(int x,
                      int y,
                      int w,
                      int h)
Send an animation frame to the image consumers containing the specified pixels unless setFullBufferUpdates is set.
Parameters:
x - the x-coordinate.
y - the y-coordinate.
w - the width.
h - the height.

newPixels

public void newPixels(int x,
                      int y,
                      int w,
                      int h,
                      boolean framenotify)
Send an animation frame to the image consumers containing the specified pixels unless setFullBufferUpdates is set. If framenotify is set then a notification is sent when the frame is sent otherwise no status is sent.
Parameters:
x - the x-coordinate.
y - the y-coordinate.
w - the width.
h - the height.
framenotify - send notification?

newPixels

public void newPixels(int[] newpix,
                      ColorModel newmodel,
                      int offset,
                      int scansize)

removeConsumer

public void removeConsumer(ImageConsumer ic)
Used to remove an ImageConsumer from the list of registered consumers for this ImageProducer.
Specified by:
removeConsumer in interface ImageProducer
Parameters:
ic - the image consumer.

requestTopDownLeftRightResend

public void requestTopDownLeftRightResend(ImageConsumer ic)
Used to register an ImageConsumer with this ImageProducer and then request that this producer resend the image data in the order top-down, left-right.
Specified by:
requestTopDownLeftRightResend in interface ImageProducer
Parameters:
ic - the image consumer.

setAnimated

public void setAnimated(boolean animated)
Changes a flag to indicate whether this MemoryImageSource supports animations.
Parameters:
animated - A flag indicating whether this class supports animations

setFullBufferUpdates

public void setFullBufferUpdates(boolean fullbuffers)
A flag to indicate whether or not to send full buffer updates when sending animation. If this flag is set then full buffers are sent in the newPixels methods instead of just regions.
Parameters:
fullbuffers - a flag indicating whether to send the full buffers

startProduction

public void startProduction(ImageConsumer ic)
Used to register an ImageConsumer with this ImageProducer and then immediately start reconstruction of the image data to be delivered to all registered consumers.
Specified by:
startProduction in interface ImageProducer

MemoryImageSource.java -- Java class for providing image data Copyright (C) 1999, 2004, 2006, 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.