org.apache.batik.ext.awt.image.rendered
Class AbstractRed

java.lang.Object
  extended by org.apache.batik.ext.awt.image.rendered.AbstractRed
All Implemented Interfaces:
RenderedImage, CachableRed
Direct Known Subclasses:
AbstractTiledRed, AffineRed, Any2LsRGBRed, Any2LumRed, Any2sRGBRed, BufferedImageCachableRed, ColorMatrixRed, ComponentTransferRed, CompositeRed, DiffuseLightingRed, DisplacementMapRed, FilterAlphaRed, FilterAsAlphaRed, FloodRed, FormatRed, GaussianBlurRed8Bit, GraphicsNodeRed8Bit, HistogramRed, MultiplyAlphaRed, PadRed, PNGRed, ProfileRed, TIFFImage, TileRed, TranslateRed, TurbulencePatternRed

public abstract class AbstractRed
extends Object
implements CachableRed

This is an abstract base class that takes care of most of the normal issues surrounding the implementation of the CachableRed (RenderedImage) interface. It tries to make no assumptions about the subclass implementation.


Field Summary
protected  Rectangle bounds
           
protected  ColorModel cm
           
protected  int minTileX
           
protected  int minTileY
           
protected  int numXTiles
           
protected  int numYTiles
           
protected  Map props
           
protected  SampleModel sm
           
protected  Vector srcs
           
protected  int tileGridXOff
           
protected  int tileGridYOff
           
protected  int tileHeight
           
protected  int tileWidth
           
 
Constructor Summary
protected AbstractRed()
          void constructor.
protected AbstractRed(CachableRed src, Map props)
          Construct an Abstract RenderedImage from a source image and props (may be null).
protected AbstractRed(CachableRed src, Rectangle bounds, ColorModel cm, SampleModel sm, int tileGridXOff, int tileGridYOff, Map props)
          Construct an Abstract Rable from a bounds rect and props (may be null).
protected AbstractRed(CachableRed src, Rectangle bounds, ColorModel cm, SampleModel sm, Map props)
          Construct an Abstract RenderedImage from a source image, bounds rect and props (may be null).
protected AbstractRed(CachableRed src, Rectangle bounds, Map props)
          Construct an Abstract RenderedImage from a source image, bounds rect and props (may be null).
protected AbstractRed(List srcs, Rectangle bounds, ColorModel cm, SampleModel sm, int tileGridXOff, int tileGridYOff, Map props)
          Construct an Abstract RenderedImage from a bounds rect, ColorModel (may be null), SampleModel (may be null), tile grid offsets and props (may be null).
protected AbstractRed(List srcs, Rectangle bounds, ColorModel cm, SampleModel sm, Map props)
          Construct an Abstract RenderedImage from a bounds rect, ColorModel (may be null), SampleModel (may be null) and props (may be null).
protected AbstractRed(List srcs, Rectangle bounds, Map props)
          Construct an Abstract Rable from a List of sources a bounds rect and props (may be null).
protected AbstractRed(Rectangle bounds, Map props)
          Construct an Abstract RenderedImage from a bounds rect and props (may be null).
 
Method Summary
static void copyBand(Raster src, int srcBand, WritableRaster dst, int dstBand)
           
 void copyToRaster(WritableRaster wr)
          Copies data from this images tile grid into wr.
 Rectangle getBounds()
          Returns the bounds of the current image.
 ColorModel getColorModel()
           
 Raster getData()
           
 Raster getData(Rectangle rect)
           
 Shape getDependencyRegion(int srcIndex, Rectangle outputRgn)
          Returns the region of input data is is required to generate outputRgn.
 Shape getDirtyRegion(int srcIndex, Rectangle inputRgn)
          This calculates the region of output that is affected by a change in a region of input.
 int getHeight()
           
 int getMinTileX()
           
 int getMinTileY()
           
 int getMinX()
           
 int getMinY()
           
 int getNumXTiles()
           
 int getNumYTiles()
           
 Object getProperty(String name)
           
 String[] getPropertyNames()
           
 SampleModel getSampleModel()
           
 Vector getSources()
           
 Raster getTile(int tileX, int tileY)
           
 int getTileGridXOffset()
           
 int getTileGridYOffset()
           
 int getTileHeight()
           
 int getTileWidth()
           
 int getWidth()
           
 int getXTile(int xloc)
          Returns the x index of tile under xloc.
 int getYTile(int yloc)
          Returns the y index of tile under yloc.
protected  void init(CachableRed src, Rectangle bounds, ColorModel cm, SampleModel sm, int tileGridXOff, int tileGridYOff, Map props)
          This is one of two basic init function (this is for single source rendereds).
protected  void init(List srcs, Rectangle bounds, ColorModel cm, SampleModel sm, int tileGridXOff, int tileGridYOff, Map props)
          This is the basic init function.
 WritableRaster makeTile(int tileX, int tileY)
          This is a helper function that will create the tile requested Including properly subsetting the bounds of the tile to the bounds of the current image.
protected  void updateTileGridInfo()
          This function computes all the basic information about the tile grid based on the data stored in sm, and tileGridX/YOff.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.awt.image.RenderedImage
copyData
 

Field Detail

bounds

protected Rectangle bounds

srcs

protected Vector srcs

props

protected Map props

sm

protected SampleModel sm

cm

protected ColorModel cm

tileGridXOff

protected int tileGridXOff

tileGridYOff

protected int tileGridYOff

tileWidth

protected int tileWidth

tileHeight

protected int tileHeight

minTileX

protected int minTileX

minTileY

protected int minTileY

numXTiles

protected int numXTiles

numYTiles

protected int numYTiles
Constructor Detail

AbstractRed

protected AbstractRed()
void constructor. The subclass must call one of the flavors of init before the object becomes usable. This is useful when the proper parameters to the init method need to be computed in the subclasses constructor.


AbstractRed

protected AbstractRed(Rectangle bounds,
                      Map props)
Construct an Abstract RenderedImage from a bounds rect and props (may be null). The srcs Vector will be empty.

Parameters:
bounds - this defines the extent of the rable in the user coordinate system.
props - this initializes the props Map (may be null)

AbstractRed

protected AbstractRed(CachableRed src,
                      Map props)
Construct an Abstract RenderedImage from a source image and props (may be null).

Parameters:
src - will be the first (and only) member of the srcs Vector. Src is also used to set the bounds, ColorModel, SampleModel, and tile grid offsets.
props - this initializes the props Map.

AbstractRed

protected AbstractRed(CachableRed src,
                      Rectangle bounds,
                      Map props)
Construct an Abstract RenderedImage from a source image, bounds rect and props (may be null).

Parameters:
src - will be the first (and only) member of the srcs Vector. Src is also used to set the ColorModel, SampleModel, and tile grid offsets.
bounds - The bounds of this image.
props - this initializes the props Map.

AbstractRed

protected AbstractRed(CachableRed src,
                      Rectangle bounds,
                      ColorModel cm,
                      SampleModel sm,
                      Map props)
Construct an Abstract RenderedImage from a source image, bounds rect and props (may be null).

Parameters:
src - if not null, will be the first (and only) member of the srcs Vector. Also if it is not null it provides the tile grid offsets, otherwise they are zero.
bounds - The bounds of this image.
cm - The ColorModel to use. If null it will default to ComponentColorModel.
sm - The sample model to use. If null it will construct a sample model the matches the given/generated ColorModel and is the size of bounds.
props - this initializes the props Map.

AbstractRed

protected AbstractRed(CachableRed src,
                      Rectangle bounds,
                      ColorModel cm,
                      SampleModel sm,
                      int tileGridXOff,
                      int tileGridYOff,
                      Map props)
Construct an Abstract Rable from a bounds rect and props (may be null). The srcs Vector will be empty.

Parameters:
src - will be the first (and only) member of the srcs Vector. Src is also used to set the ColorModel, SampleModel, and tile grid offsets.
bounds - this defines the extent of the rable in the user coordinate system.
cm - The ColorModel to use. If null it will default to ComponentColorModel.
sm - The sample model to use. If null it will construct a sample model the matches the given/generated ColorModel and is the size of bounds.
tileGridXOff - The x location of tile 0,0.
tileGridYOff - The y location of tile 0,0.
props - this initializes the props Map.

AbstractRed

protected AbstractRed(List srcs,
                      Rectangle bounds,
                      Map props)
Construct an Abstract Rable from a List of sources a bounds rect and props (may be null).

Parameters:
srcs - This is used to initialize the srcs Vector. All the members of srcs must be CachableRed otherwise an error will be thrown.
bounds - this defines the extent of the rendered in pixels
props - this initializes the props Map.

AbstractRed

protected AbstractRed(List srcs,
                      Rectangle bounds,
                      ColorModel cm,
                      SampleModel sm,
                      Map props)
Construct an Abstract RenderedImage from a bounds rect, ColorModel (may be null), SampleModel (may be null) and props (may be null). The srcs Vector will be empty.

Parameters:
srcs - This is used to initialize the srcs Vector. All the members of srcs must be CachableRed otherwise an error will be thrown.
bounds - this defines the extent of the rendered in pixels
cm - The ColorModel to use. If null it will default to ComponentColorModel.
sm - The sample model to use. If null it will construct a sample model the matches the given/generated ColorModel and is the size of bounds.
props - this initializes the props Map.

AbstractRed

protected AbstractRed(List srcs,
                      Rectangle bounds,
                      ColorModel cm,
                      SampleModel sm,
                      int tileGridXOff,
                      int tileGridYOff,
                      Map props)
Construct an Abstract RenderedImage from a bounds rect, ColorModel (may be null), SampleModel (may be null), tile grid offsets and props (may be null). The srcs Vector will be empty.

Parameters:
srcs - This is used to initialize the srcs Vector. All the members of srcs must be CachableRed otherwise an error will be thrown.
bounds - this defines the extent of the rable in the user coordinate system.
cm - The ColorModel to use. If null it will default to ComponentColorModel.
sm - The sample model to use. If null it will construct a sample model the matches the given/generated ColorModel and is the size of bounds.
tileGridXOff - The x location of tile 0,0.
tileGridYOff - The y location of tile 0,0.
props - this initializes the props Map.
Method Detail

init

protected void init(CachableRed src,
                    Rectangle bounds,
                    ColorModel cm,
                    SampleModel sm,
                    int tileGridXOff,
                    int tileGridYOff,
                    Map props)
This is one of two basic init function (this is for single source rendereds). It is provided so subclasses can compute various values before initializing all the state in the base class. You really should call this method before returning from your subclass constructor.

Parameters:
src - The source for the filter
bounds - The bounds of the image
cm - The ColorModel to use. If null it defaults to ComponentColorModel/ src's ColorModel.
sm - The Sample modle to use. If this is null it will use the src's sample model if that is null it will construct a sample model that matches the ColorModel and is the size of the whole image.
tileGridXOff - The x location of tile 0,0.
tileGridYOff - The y location of tile 0,0.
props - Any properties you want to associate with the image.

init

protected void init(List srcs,
                    Rectangle bounds,
                    ColorModel cm,
                    SampleModel sm,
                    int tileGridXOff,
                    int tileGridYOff,
                    Map props)
This is the basic init function. It is provided so subclasses can compute various values before initializing all the state in the base class. You really should call this method before returning from your subclass constructor.

Parameters:
srcs - The list of sources
bounds - The bounds of the image
cm - The ColorModel to use. If null it defaults to ComponentColorModel.
sm - The Sample modle to use. If this is null it will construct a sample model that matches the ColorModel and is the size of the whole image.
tileGridXOff - The x location of tile 0,0.
tileGridYOff - The y location of tile 0,0.
props - Any properties you want to associate with the image.

updateTileGridInfo

protected void updateTileGridInfo()
This function computes all the basic information about the tile grid based on the data stored in sm, and tileGridX/YOff. It is responsible for updating tileWidth, tileHeight, minTileX/Y, and numX/YTiles.


getBounds

public Rectangle getBounds()
Description copied from interface: CachableRed
Returns the bounds of the current image. This should be 'in sync' with getMinX, getMinY, getWidth, getHeight

Specified by:
getBounds in interface CachableRed

getSources

public Vector getSources()
Specified by:
getSources in interface RenderedImage

getColorModel

public ColorModel getColorModel()
Specified by:
getColorModel in interface RenderedImage

getSampleModel

public SampleModel getSampleModel()
Specified by:
getSampleModel in interface RenderedImage

getMinX

public int getMinX()
Specified by:
getMinX in interface RenderedImage

getMinY

public int getMinY()
Specified by:
getMinY in interface RenderedImage

getWidth

public int getWidth()
Specified by:
getWidth in interface RenderedImage

getHeight

public int getHeight()
Specified by:
getHeight in interface RenderedImage

getTileWidth

public int getTileWidth()
Specified by:
getTileWidth in interface RenderedImage

getTileHeight

public int getTileHeight()
Specified by:
getTileHeight in interface RenderedImage

getTileGridXOffset

public int getTileGridXOffset()
Specified by:
getTileGridXOffset in interface RenderedImage

getTileGridYOffset

public int getTileGridYOffset()
Specified by:
getTileGridYOffset in interface RenderedImage

getMinTileX

public int getMinTileX()
Specified by:
getMinTileX in interface RenderedImage

getMinTileY

public int getMinTileY()
Specified by:
getMinTileY in interface RenderedImage

getNumXTiles

public int getNumXTiles()
Specified by:
getNumXTiles in interface RenderedImage

getNumYTiles

public int getNumYTiles()
Specified by:
getNumYTiles in interface RenderedImage

getProperty

public Object getProperty(String name)
Specified by:
getProperty in interface RenderedImage

getPropertyNames

public String[] getPropertyNames()
Specified by:
getPropertyNames in interface RenderedImage

getDependencyRegion

public Shape getDependencyRegion(int srcIndex,
                                 Rectangle outputRgn)
Description copied from interface: CachableRed
Returns the region of input data is is required to generate outputRgn.

Specified by:
getDependencyRegion in interface CachableRed
Parameters:
srcIndex - The source to do the dependency calculation for.
outputRgn - The region of output you are interested in generating dependencies for. The is given in the output pixel coordiate system for this node.
Returns:
The region of input required. This is in the output pixel coordinate system for the source indicated by srcIndex.

getDirtyRegion

public Shape getDirtyRegion(int srcIndex,
                            Rectangle inputRgn)
Description copied from interface: CachableRed
This calculates the region of output that is affected by a change in a region of input.

Specified by:
getDirtyRegion in interface CachableRed
Parameters:
srcIndex - The input that inputRgn reflects changes in.
inputRgn - the region of input that has changed, used to calculate the returned shape. This is given in the pixel coordinate system of the source indicated by srcIndex.
Returns:
The region of output that would be invalid given a change to inputRgn of the source selected by srcIndex. this is in the output pixel coordinate system of this node.

getTile

public Raster getTile(int tileX,
                      int tileY)
Specified by:
getTile in interface RenderedImage

getData

public Raster getData()
Specified by:
getData in interface RenderedImage

getData

public Raster getData(Rectangle rect)
Specified by:
getData in interface RenderedImage

getXTile

public final int getXTile(int xloc)
Returns the x index of tile under xloc.

Parameters:
xloc - the x location (in pixels) to get tile for.
Returns:
The tile index under xloc (may be outside tile grid).

getYTile

public final int getYTile(int yloc)
Returns the y index of tile under yloc.

Parameters:
yloc - the y location (in pixels) to get tile for.
Returns:
The tile index under yloc (may be outside tile grid).

copyToRaster

public void copyToRaster(WritableRaster wr)
Copies data from this images tile grid into wr. wr may extend outside the bounds of this image in which case the data in wr outside the bounds will not be touched.

Parameters:
wr - Raster to fill with image data.

makeTile

public WritableRaster makeTile(int tileX,
                               int tileY)
This is a helper function that will create the tile requested Including properly subsetting the bounds of the tile to the bounds of the current image.

Parameters:
tileX - The x index of the tile to be built
tileY - The y index of the tile to be built
Returns:
The tile requested
Throws:
IndexOutOfBoundsException - if the requested tile index falles outside of the bounds of the tile grid for the image.

copyBand

public static void copyBand(Raster src,
                            int srcBand,
                            WritableRaster dst,
                            int dstBand)


Copyright © 2008 Apache Software Foundation. All Rights Reserved.