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

    java.lang.Object
      org.apache.batik.ext.awt.image.rendered.AbstractRed

All Implemented Interfaces:
  CachableRed, java.awt.image.RenderedImage

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 java.lang.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 java.awt.Rectangle` `bounds`
`protected java.awt.image.ColorModel` `cm`
`protected int` `minTileX`
`protected int` `minTileY`
`protected int` `numXTiles`
`protected int` `numYTiles`
`protected java.util.Map` `props`
`protected java.awt.image.SampleModel` `sm`
`protected java.util.Vector` `srcs`
`protected int` `tileGridXOff`
`protected int` `tileGridYOff`
`protected int` `tileHeight`
`protected int` `tileWidth`

Constructor Summary
`protected` `AbstractRed()` void constructor.
`protected` `AbstractRed(CachableRed src, java.util.Map props)` Construct an Abstract RenderedImage from a source image and props (may be null).
`protected` `AbstractRed(CachableRed src, java.awt.Rectangle bounds, java.awt.image.ColorModel cm, java.awt.image.SampleModel sm, int tileGridXOff, int tileGridYOff, java.util.Map props)` Construct an Abstract Rable from a bounds rect and props (may be null).
`protected` `AbstractRed(CachableRed src, java.awt.Rectangle bounds, java.awt.image.ColorModel cm, java.awt.image.SampleModel sm, java.util.Map props)` Construct an Abstract RenderedImage from a source image, bounds rect and props (may be null).
`protected` `AbstractRed(CachableRed src, java.awt.Rectangle bounds, java.util.Map props)` Construct an Abstract RenderedImage from a source image, bounds rect and props (may be null).
`protected` `AbstractRed(java.util.List srcs, java.awt.Rectangle bounds, java.awt.image.ColorModel cm, java.awt.image.SampleModel sm, int tileGridXOff, int tileGridYOff, java.util.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(java.util.List srcs, java.awt.Rectangle bounds, java.awt.image.ColorModel cm, java.awt.image.SampleModel sm, java.util.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(java.util.List srcs, java.awt.Rectangle bounds, java.util.Map props)` Construct an Abstract Rable from a List of sources a bounds rect and props (may be null).
`protected` `AbstractRed(java.awt.Rectangle bounds, java.util.Map props)` Construct an Abstract RenderedImage from a bounds rect and props (may be null).

Method Summary
`static void` `copyBand(java.awt.image.Raster src, int srcBand, java.awt.image.WritableRaster dst, int dstBand)`
`void` `copyToRaster(java.awt.image.WritableRaster wr)` Copies data from this images tile grid into wr.
`java.awt.Rectangle` `getBounds()` Returns the bounds of the current image.
`java.awt.image.ColorModel` `getColorModel()`
`java.awt.image.Raster` `getData()`
`java.awt.image.Raster` `getData(java.awt.Rectangle rect)`
`java.awt.Shape` `getDependencyRegion(int srcIndex, java.awt.Rectangle outputRgn)` Returns the region of input data is is required to generate outputRgn.
`java.awt.Shape` `getDirtyRegion(int srcIndex, java.awt.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()`
`java.lang.Object` `getProperty(java.lang.String name)`
`java.lang.String[]` `getPropertyNames()`
`java.awt.image.SampleModel` `getSampleModel()`
`java.util.Vector` `getSources()`
`java.awt.image.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, java.awt.Rectangle bounds, java.awt.image.ColorModel cm, java.awt.image.SampleModel sm, int tileGridXOff, int tileGridYOff, java.util.Map props)` This is one of two basic init function (this is for single source rendereds).
`protected void` `init(java.util.List srcs, java.awt.Rectangle bounds, java.awt.image.ColorModel cm, java.awt.image.SampleModel sm, int tileGridXOff, int tileGridYOff, java.util.Map props)` This is the basic init function.
`java.awt.image.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 java.awt.Rectangle bounds

### srcs

    protected java.util.Vector srcs

### props

    protected java.util.Map props

### sm

    protected java.awt.image.SampleModel sm

### cm

    protected java.awt.image.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(java.awt.Rectangle bounds,
                          java.util.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,
                          java.util.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,
                          java.awt.Rectangle bounds,
                          java.util.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,
                          java.awt.Rectangle bounds,
                          java.awt.image.ColorModel cm,
                          java.awt.image.SampleModel sm,
                          java.util.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.
  `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,
                          java.awt.Rectangle bounds,
                          java.awt.image.ColorModel cm,
                          java.awt.image.SampleModel sm,
                          int tileGridXOff,
                          int tileGridYOff,
                          java.util.Map props)

  Construct an Abstract Rable 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.
  `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(java.util.List srcs,
                          java.awt.Rectangle bounds,
                          java.util.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(java.util.List srcs,
                          java.awt.Rectangle bounds,
                          java.awt.image.ColorModel cm,
                          java.awt.image.SampleModel sm,
                          java.util.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(java.util.List srcs,
                          java.awt.Rectangle bounds,
                          java.awt.image.ColorModel cm,
                          java.awt.image.SampleModel sm,
                          int tileGridXOff,
                          int tileGridYOff,
                          java.util.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,
                        java.awt.Rectangle bounds,
                        java.awt.image.ColorModel cm,
                        java.awt.image.SampleModel sm,
                        int tileGridXOff,
                        int tileGridYOff,
                        java.util.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(java.util.List srcs,
                        java.awt.Rectangle bounds,
                        java.awt.image.ColorModel cm,
                        java.awt.image.SampleModel sm,
                        int tileGridXOff,
                        int tileGridYOff,
                        java.util.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 java.awt.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 java.util.Vector getSources()

  Specified by:
    `getSources` in interface `java.awt.image.RenderedImage`

### getColorModel

    public java.awt.image.ColorModel getColorModel()

  Specified by:
    `getColorModel` in interface `java.awt.image.RenderedImage`

### getSampleModel

    public java.awt.image.SampleModel getSampleModel()

  Specified by:
    `getSampleModel` in interface `java.awt.image.RenderedImage`

### getMinX

    public int getMinX()

  Specified by:
    `getMinX` in interface `java.awt.image.RenderedImage`

### getMinY

    public int getMinY()

  Specified by:
    `getMinY` in interface `java.awt.image.RenderedImage`

### getWidth

    public int getWidth()

  Specified by:
    `getWidth` in interface `java.awt.image.RenderedImage`

### getHeight

    public int getHeight()

  Specified by:
    `getHeight` in interface `java.awt.image.RenderedImage`

### getTileWidth

    public int getTileWidth()

  Specified by:
    `getTileWidth` in interface `java.awt.image.RenderedImage`

### getTileHeight

    public int getTileHeight()

  Specified by:
    `getTileHeight` in interface `java.awt.image.RenderedImage`

### getTileGridXOffset

    public int getTileGridXOffset()

  Specified by:
    `getTileGridXOffset` in interface `java.awt.image.RenderedImage`

### getTileGridYOffset

    public int getTileGridYOffset()

  Specified by:
    `getTileGridYOffset` in interface `java.awt.image.RenderedImage`

### getMinTileX

    public int getMinTileX()

  Specified by:
    `getMinTileX` in interface `java.awt.image.RenderedImage`

### getMinTileY

    public int getMinTileY()

  Specified by:
    `getMinTileY` in interface `java.awt.image.RenderedImage`

### getNumXTiles

    public int getNumXTiles()

  Specified by:
    `getNumXTiles` in interface `java.awt.image.RenderedImage`

### getNumYTiles

    public int getNumYTiles()

  Specified by:
    `getNumYTiles` in interface `java.awt.image.RenderedImage`

### getProperty

    public java.lang.Object getProperty(java.lang.String name)

  Specified by:
    `getProperty` in interface `java.awt.image.RenderedImage`

### getPropertyNames

    public java.lang.String[] getPropertyNames()

  Specified by:
    `getPropertyNames` in interface `java.awt.image.RenderedImage`

### getDependencyRegion

    public java.awt.Shape getDependencyRegion(int srcIndex,
                                              java.awt.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 java.awt.Shape getDirtyRegion(int srcIndex,
                                         java.awt.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 java.awt.image.Raster getTile(int tileX,
                                         int tileY)

  Specified by:
    `getTile` in interface `java.awt.image.RenderedImage`

### getData

    public java.awt.image.Raster getData()

  Specified by:
    `getData` in interface `java.awt.image.RenderedImage`

### getData

    public java.awt.image.Raster getData(java.awt.Rectangle rect)

  Specified by:
    `getData` in interface `java.awt.image.RenderedImage`

### getXTile

    public final int getXTile(int xloc)

  Returns the x index of tile under xloc

  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(java.awt.image.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 java.awt.image.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:
    `java.lang.IndexOutOfBoundsException` - if the requested tile index falles outside of the bounds of the tile grid for the image.

### copyBand

    public static void copyBand(java.awt.image.Raster src,
                                int srcBand,
                                java.awt.image.WritableRaster dst,
                                int dstBand)

Copyright © 2004 Apache Software Foundation. All Rights Reserved.