Where Am I? Class Hierarchy (JFC) All Classes (JFC)

Class com.sun.java.swing.SyntheticImage

java.lang.Object
   |
   +----com.sun.java.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.


Variable Index

height
pixMask
width

Constructor Index

SyntheticImage()
SyntheticImage(int, int)

Method Index

addConsumer(ImageConsumer)
computeRow(int, int[])
isConsumer(ImageConsumer)
isStatic()
nextFrame(int)
removeConsumer(ImageConsumer)
requestTopDownLeftRightResend(ImageConsumer)
startProduction(ImageConsumer)

Variables

width
 protected int width
height
 protected int height
pixMask
 public static final int pixMask

Constructors

SyntheticImage
 protected SyntheticImage()
SyntheticImage
 protected SyntheticImage(int w,
                          int h)

Methods

computeRow
 protected void computeRow(int y,
                           int row[])
addConsumer
 public synchronized void addConsumer(ImageConsumer ic)
isConsumer
 public synchronized boolean isConsumer(ImageConsumer ic)
removeConsumer
 public synchronized void removeConsumer(ImageConsumer ic)
startProduction
 public synchronized void startProduction(ImageConsumer ic)
isStatic
 protected boolean isStatic()
nextFrame
 public void nextFrame(int param)
requestTopDownLeftRightResend
 public void requestTopDownLeftRightResend(ImageConsumer ic)

Where Am I? Class Hierarchy (JFC) All Classes (JFC)