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

    java.lang.Object
      org.apache.batik.ext.awt.image.renderable.AbstractRable
          org.apache.batik.ext.awt.image.renderable.FilterChainRable8Bit

All Implemented Interfaces:
  Filter, FilterChainRable, PaintRable, java.awt.image.renderable.RenderableImage

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:

- A pad operation that makes the input image a big as the filter region.
- If there is a filterResolution specified along at least one of the axis, a `AffineRable`

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, java.awt.geom.Rectangle2D filterRegion)` Default constructor.

Method Summary
`java.awt.image.RenderedImage` `createRendering(java.awt.image.renderable.RenderContext context)`
`java.awt.geom.Rectangle2D` `getBounds2D()` Returns this filter's bounds
`java.awt.geom.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(java.awt.Graphics2D g2d)` Should perform the equivilent action as createRendering followed by drawing the RenderedImage to Graphics2D, or return false.
`void` `setFilterRegion(java.awt.geom.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,
                                java.awt.geom.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(java.awt.geom.Rectangle2D filterRegion)

  Sets the filter output area, in user space. A null value is illegal.

  Specified by:
    `setFilterRegion` in interface `FilterChainRable`

### getFilterRegion

    public java.awt.geom.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`

### getBounds2D

    public java.awt.geom.Rectangle2D getBounds2D()

  Returns this filter's bounds

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

### paintRable

    public boolean paintRable(java.awt.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 java.awt.image.RenderedImage createRendering(java.awt.image.renderable.RenderContext context)

  Specified by:
    `createRendering` in interface `java.awt.image.renderable.RenderableImage`

Copyright © 2004 Apache Software Foundation. All Rights Reserved.