Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Class java.awt.swing.SyntheticImage

java.lang.Object
    |
    +----java.awt.swing.SyntheticImage

public abstract class SyntheticImage
extends Object
implements ImageProducer
A helper class to make computing synthetic images a little easier. All you need to do is define a subclass that overrides computeRow to compute a row of the image. It is passed the y coordinate of the row and an array into which to put the pixels in standard ARGB format.

Normal usage looks something like this:

 Image i = new Image(new SyntheticImage(200, 100) {
       protected void computeRow(int y, int[] row) {
   	for(int i = width; --i>=0; ) {
   	    int grey = i*255/(width-1);
   	    row[i] = (255<<24)|(grey<<16)|(grey<<8)|grey;
   	}
       }
   }
  
This creates a image 200 pixels wide and 100 pixels high that is a horizontal grey ramp, going from black on the left to white on the right.

If the image is to be a movie, override isStatic to return false, y cycling back to 0 is computeRow's signal that the next frame has started. It is acceptable (expected?) for computeRow(0,r) to pause until the appropriate time to start the next frame.


Field Summary
int  height
 
static int  pixMask
 
int  width
 
 

Constructor Summary
 SyntheticImage()
 
 SyntheticImage(int w, int h)
 
 

Method Summary
void  addConsumer(ImageConsumer ic)
 
void  computeRow(int y, int[] row)
 
boolean  isConsumer(ImageConsumer ic)
 
boolean  isStatic()
 
void  nextFrame(int param)
 
void  removeConsumer(ImageConsumer ic)
 
void  requestTopDownLeftRightResend(ImageConsumer ic)
 
void  startProduction(ImageConsumer ic)
 
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

width

protected int width

height

protected int height

pixMask

public static final int pixMask
Constructor Detail

SyntheticImage

protected SyntheticImage()

SyntheticImage

protected SyntheticImage(int w,
                         int h)
Method Detail

computeRow

protected void computeRow(int y,
                          int[] row)

addConsumer

public void addConsumer(ImageConsumer ic)
Implements:
addConsumer in interface ImageProducer

isConsumer

public boolean isConsumer(ImageConsumer ic)
Implements:
isConsumer in interface ImageProducer

removeConsumer

public void removeConsumer(ImageConsumer ic)
Implements:
removeConsumer in interface ImageProducer

startProduction

public void startProduction(ImageConsumer ic)
Implements:
startProduction in interface ImageProducer

isStatic

protected boolean isStatic()

nextFrame

public void nextFrame(int param)

requestTopDownLeftRightResend

public void requestTopDownLeftRightResend(ImageConsumer ic)
Implements:
requestTopDownLeftRightResend in interface ImageProducer

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.