Class AbstractTiledRed
- java.lang.Object
-
- org.apache.batik.ext.awt.image.rendered.AbstractRed
-
- org.apache.batik.ext.awt.image.rendered.AbstractTiledRed
-
- All Implemented Interfaces:
java.awt.image.RenderedImage
,CachableRed
,TileGenerator
- Direct Known Subclasses:
SpecularLightingRed
,TileCacheRed
public abstract class AbstractTiledRed extends AbstractRed implements TileGenerator
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.- Version:
- $Id: AbstractTiledRed.java 1804130 2017-08-04 14:41:11Z ssteiner $
-
-
Field Summary
Fields Modifier and Type Field Description private static int
defaultTileSize
private TileStore
tiles
-
Fields inherited from class org.apache.batik.ext.awt.image.rendered.AbstractRed
bounds, cm, minTileX, minTileY, numXTiles, numYTiles, props, sm, srcs, tileGridXOff, tileGridYOff, tileHeight, tileWidth
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractTiledRed()
void constructor.protected
AbstractTiledRed(java.awt.Rectangle bounds, java.util.Map props)
Construct an Abstract RenderedImage from a bounds rect and props (may be null).protected
AbstractTiledRed(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
AbstractTiledRed(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
AbstractTiledRed(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
AbstractTiledRed(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
AbstractTiledRed(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
AbstractTiledRed(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
AbstractTiledRed(CachableRed src, java.util.Map props)
Construct an Abstract RenderedImage from a source image and props (may be null).
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.awt.image.WritableRaster
copyData(java.awt.image.WritableRaster wr)
void
copyToRaster(java.awt.image.WritableRaster wr)
Copies data from this images tile grid into wr.void
copyToRasterByBlocks(java.awt.image.WritableRaster wr)
protected TileStore
createTileStore()
protected void
drawBlock(TileBlock block, java.awt.image.WritableRaster wr)
protected void
drawBlockAndCopy(TileBlock[] blocks, java.awt.image.WritableRaster wr)
protected void
drawBlockInPlace(TileBlock[] blocks, java.awt.image.WritableRaster wr)
abstract void
genRect(java.awt.image.WritableRaster wr)
java.awt.image.Raster
genTile(int x, int y)
java.awt.image.Raster
getData(java.awt.Rectangle rect)
static int
getDefaultTileSize()
java.awt.image.Raster
getTile(int x, int y)
TileStore
getTileStore()
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.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(CachableRed src, java.awt.Rectangle bounds, java.awt.image.ColorModel cm, java.awt.image.SampleModel sm, int tileGridXOff, int tileGridYOff, TileStore tiles, java.util.Map props)
This is one of two basic init function (this is for single source rendereds).void
setTile(int x, int y, java.awt.image.Raster ras)
protected void
setTileStore(TileStore tiles)
-
Methods inherited from class org.apache.batik.ext.awt.image.rendered.AbstractRed
copyBand, getBounds, getColorModel, getData, getDependencyRegion, getDirtyRegion, getHeight, getMinTileX, getMinTileY, getMinX, getMinY, getNumXTiles, getNumYTiles, getProperty, getPropertyNames, getSampleModel, getSources, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getWidth, getXTile, getYTile, makeTile, updateTileGridInfo
-
-
-
-
Field Detail
-
tiles
private TileStore tiles
-
defaultTileSize
private static int defaultTileSize
-
-
Constructor Detail
-
AbstractTiledRed
protected AbstractTiledRed()
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.
-
AbstractTiledRed
protected AbstractTiledRed(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)
-
AbstractTiledRed
protected AbstractTiledRed(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.
-
AbstractTiledRed
protected AbstractTiledRed(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.
-
AbstractTiledRed
protected AbstractTiledRed(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.
-
AbstractTiledRed
protected AbstractTiledRed(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:
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.
-
AbstractTiledRed
protected AbstractTiledRed(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 pixelsprops
- this initializes the props Map.
-
AbstractTiledRed
protected AbstractTiledRed(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 pixelscm
- 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.
-
AbstractTiledRed
protected AbstractTiledRed(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
-
getDefaultTileSize
public static int getDefaultTileSize()
-
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.- Overrides:
init
in classAbstractRed
- Parameters:
src
- The source for the filterbounds
- The bounds of the imagecm
- 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(CachableRed src, java.awt.Rectangle bounds, java.awt.image.ColorModel cm, java.awt.image.SampleModel sm, int tileGridXOff, int tileGridYOff, TileStore tiles, 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 filterbounds
- The bounds of the imagecm
- 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.tiles
- The tileStore to use (or null).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.- Overrides:
init
in classAbstractRed
- Parameters:
srcs
- The list of sourcesbounds
- The bounds of the imagecm
- 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.
-
getTileStore
public TileStore getTileStore()
-
setTileStore
protected void setTileStore(TileStore tiles)
-
createTileStore
protected TileStore createTileStore()
-
copyData
public java.awt.image.WritableRaster copyData(java.awt.image.WritableRaster wr)
- Specified by:
copyData
in interfacejava.awt.image.RenderedImage
-
getData
public java.awt.image.Raster getData(java.awt.Rectangle rect)
- Specified by:
getData
in interfacejava.awt.image.RenderedImage
- Overrides:
getData
in classAbstractRed
-
getTile
public java.awt.image.Raster getTile(int x, int y)
- Specified by:
getTile
in interfacejava.awt.image.RenderedImage
- Overrides:
getTile
in classAbstractRed
-
genTile
public java.awt.image.Raster genTile(int x, int y)
- Specified by:
genTile
in interfaceTileGenerator
-
genRect
public abstract void genRect(java.awt.image.WritableRaster wr)
-
setTile
public void setTile(int x, int y, java.awt.image.Raster ras)
-
copyToRasterByBlocks
public void copyToRasterByBlocks(java.awt.image.WritableRaster wr)
-
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.- Overrides:
copyToRaster
in classAbstractRed
- Parameters:
wr
- Raster to fill with image data.
-
drawBlock
protected void drawBlock(TileBlock block, java.awt.image.WritableRaster wr)
-
drawBlockAndCopy
protected void drawBlockAndCopy(TileBlock[] blocks, java.awt.image.WritableRaster wr)
-
drawBlockInPlace
protected void drawBlockInPlace(TileBlock[] blocks, java.awt.image.WritableRaster wr)
-
-