org.apache.batik.ext.awt.image.renderable
Class FilterChainRable8Bit

java.lang.Object
  extended by org.apache.batik.ext.awt.image.renderable.AbstractRable
      extended by org.apache.batik.ext.awt.image.renderable.FilterChainRable8Bit
All Implemented Interfaces:
RenderableImage, Filter, FilterChainRable, PaintRable

public class FilterChainRable8Bit
extends AbstractRable
implements FilterChainRable, PaintRable

Implements a filter chain. A filter chain is defined by its filter region (i.e., the bounding box of its input/output), its filter resolution and its source. Its source cannot be null, but its resolution can.
The filter chain decomposes as follows:


Field Summary
 
Fields inherited from class org.apache.batik.ext.awt.image.renderable.AbstractRable
props, srcs, stamp
 
Fields inherited from interface java.awt.image.renderable.RenderableImage
HINTS_OBSERVED
 
Constructor Summary
FilterChainRable8Bit(Filter source, Rectangle2D filterRegion)
          Default constructor.
 
Method Summary
 RenderedImage createRendering(RenderContext context)
           
 Rectangle2D getBounds2D()
          Returns this filter's bounds
 Rectangle2D getFilterRegion()
          Returns the filter output area, in user space
 int getFilterResolutionX()
          Returns the resolution along the X axis.
 int getFilterResolutionY()
          Returns the resolution along the Y axis.
 Filter getSource()
          Returns the source of the chain.
 boolean paintRable(Graphics2D g2d)
          Should perform the equivilent action as createRendering followed by drawing the RenderedImage to Graphics2D, or return false.
 void setFilterRegion(Rectangle2D filterRegion)
          Sets the filter output area, in user space.
 void setFilterResolutionX(int filterResolutionX)
          Sets the resolution along the X axis, i.e., the maximum size for intermediate images along that axis.
 void setFilterResolutionY(int filterResolutionY)
          Sets the resolution along the Y axis, i.e., the maximum size for intermediate images along that axis.
 void setSource(Filter chainSource)
          Sets the source to be src.
 
Methods inherited from class org.apache.batik.ext.awt.image.renderable.AbstractRable
createDefaultRendering, createScaledRendering, getDependencyRegion, getDirtyRegion, getHeight, getMinX, getMinY, getProperty, getPropertyNames, getSources, getTimeStamp, getWidth, init, init, init, init, isDynamic, touch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.batik.ext.awt.image.renderable.Filter
getDependencyRegion, getDirtyRegion, getTimeStamp
 
Methods inherited from interface java.awt.image.renderable.RenderableImage
createDefaultRendering, createScaledRendering, getHeight, getMinX, getMinY, getProperty, getPropertyNames, getSources, getWidth, isDynamic
 

Constructor Detail

FilterChainRable8Bit

public FilterChainRable8Bit(Filter source,
                            Rectangle2D filterRegion)
Default constructor.

Method Detail

getFilterResolutionX

public int getFilterResolutionX()
Returns the resolution along the X axis.

Specified by:
getFilterResolutionX in interface FilterChainRable

setFilterResolutionX

public void setFilterResolutionX(int filterResolutionX)
Sets the resolution along the X axis, i.e., the maximum size for intermediate images along that axis. If filterResolutionX is less than zero, no filter resolution is forced on the filter chain. If filterResolutionX is zero, then the filter returns null. If filterResolutionX is positive, then the filter resolution is applied.

Specified by:
setFilterResolutionX in interface FilterChainRable

getFilterResolutionY

public int getFilterResolutionY()
Returns the resolution along the Y axis.

Specified by:
getFilterResolutionY in interface FilterChainRable

setFilterResolutionY

public void setFilterResolutionY(int filterResolutionY)
Sets the resolution along the Y axis, i.e., the maximum size for intermediate images along that axis. If filterResolutionY is zero or less, the value of filterResolutionX is used.

Specified by:
setFilterResolutionY in interface FilterChainRable

setFilterRegion

public void setFilterRegion(Rectangle2D filterRegion)
Sets the filter output area, in user space. A null value is illegal.

Specified by:
setFilterRegion in interface FilterChainRable

getFilterRegion

public Rectangle2D getFilterRegion()
Returns the filter output area, in user space

Specified by:
getFilterRegion in interface FilterChainRable

getSource

public Filter getSource()
Returns the source of the chain. Note that a crop and affine operation may be inserted before the source, depending on the filterRegion and filterResolution parameters.

Specified by:
getSource in interface FilterChainRable

setSource

public void setSource(Filter chainSource)
Sets the source to be src.

Specified by:
setSource in interface FilterChainRable
Parameters:
chainSource - image to the chain.

getBounds2D

public Rectangle2D getBounds2D()
Returns this filter's bounds

Specified by:
getBounds2D in interface Filter
Overrides:
getBounds2D in class AbstractRable

paintRable

public boolean paintRable(Graphics2D g2d)
Should perform the equivilent action as createRendering followed by drawing the RenderedImage to Graphics2D, or return false.

Specified by:
paintRable in interface PaintRable
Parameters:
g2d - The Graphics2D to draw to.
Returns:
true if the paint call succeeded, false if for some reason the paint failed (in which case a createRendering should be used).

createRendering

public RenderedImage createRendering(RenderContext context)
Specified by:
createRendering in interface RenderableImage


Copyright © 2008 Apache Software Foundation. All Rights Reserved.