Class AbstractRable

java.lang.Object
org.apache.batik.ext.awt.image.renderable.AbstractRable
All Implemented Interfaces:
RenderableImage, Filter
Direct Known Subclasses:
AbstractColorInterpolationRable, AffineRable8Bit, BackgroundRable8Bit, ClipRable8Bit, FilterAlphaRable, FilterAsAlphaRable, FilterChainRable8Bit, FilterResRable8Bit, FloodRable8Bit, GraphicsNodeRable8Bit, MaskRable8Bit, MorphologyRable8Bit, PadRable8Bit, ProfileRable, RedRable

public abstract class AbstractRable extends Object implements Filter
This is an abstract base class that takes care of most of the normal issues surrounding the implementation of the RenderableImage interface. It tries to make no assumptions about the subclass implementation.
Version:
$Id: AbstractRable.java 1804130 2017-08-04 14:41:11Z ssteiner $
  • Field Details

    • srcs

      protected Vector srcs
    • props

      protected Map props
    • stamp

      protected long stamp
  • Constructor Details

    • AbstractRable

      protected AbstractRable()
      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.
    • AbstractRable

      protected AbstractRable(Filter src)
      Construct an Abstract Rable from src.
      Parameters:
      src - will be the first (and only) member of the srcs Vector. The bounds of src are also used to set the bounds of this renderable.
    • AbstractRable

      protected AbstractRable(Filter src, Map props)
      Construct an Abstract Rable from src and props.
      Parameters:
      src - will also be set as the first (and only) member of the srcs Vector.
      props - use to initialize the properties on this renderable image.
    • AbstractRable

      protected AbstractRable(List srcs)
      Construct an Abstract Rable from a list of sources.
      Parameters:
      srcs - This is used to initialize the srcs Vector. The bounds of this renderable will be the union of the bounds of all the sources in srcs. All the members of srcs must be CacheableRable otherwise an error will be thrown.
    • AbstractRable

      protected AbstractRable(List srcs, Map props)
      Construct an Abstract Rable from a list of sources, and bounds.
      Parameters:
      srcs - This is used to initialize the srcs Vector. All the members of srcs must be CacheableRable otherwise an error will be thrown.
      props - use to initialize the properties on this renderable image.
  • Method Details

    • touch

      public final void touch()
      Increments the time stamp. This should be called when ever the image changes in such a way that cached output should be discarded.
    • getTimeStamp

      public long getTimeStamp()
      Returns the current modification timestamp on this Renderable node. This value will change whenever cached output data becomes invalid.
      Specified by:
      getTimeStamp in interface Filter
      Returns:
      Current modification timestamp value.
    • init

      protected void init(Filter src)
      Initialize an Abstract Rable from src, bounds and props. This can be called long after the object is constructed to reset the state of the Renderable.
      Parameters:
      src - will become the first (and only) member of the srcs Vector.
    • init

      protected void init(Filter src, Map props)
      Initialize an Abstract Rable from src, bounds and props. This can be called long after the object is constructed to reset the state of the Renderable.
      Parameters:
      src - will also be set as the first (and only) member of the srcs Vector.
      props - use to set the properties on this renderable image. Always clears the current properties (even if null).
    • init

      protected void init(List srcs)
      Initialize an Abstract Rable from a list of sources, and possibly a bounds. This can be called long after the object is constructed to reset the state of the Renderable.
      Parameters:
      srcs - Used the create a new srcs Vector (old sources are dropped).
    • init

      protected void init(List srcs, Map props)
      Initialize an Abstract Rable from a list of sources, and possibly a bounds. This can be called long after the object is constructed to reset the state of the Renderable.
      Parameters:
      srcs - Used the create a new srcs Vector (old sources are dropped).
      props - use to set the properties on this renderable image. Always clears the current properties (even if null).
    • getBounds2D

      public Rectangle2D getBounds2D()
      Description copied from interface: Filter
      Returns the bounds of the current image. This should be 'in sync' with getMinX, getMinY, getWidth, getHeight
      Specified by:
      getBounds2D in interface Filter
    • getSources

      public Vector getSources()
      Specified by:
      getSources in interface RenderableImage
    • createDefaultRendering

      public RenderedImage createDefaultRendering()
      Specified by:
      createDefaultRendering in interface RenderableImage
    • createScaledRendering

      public RenderedImage createScaledRendering(int w, int h, RenderingHints hints)
      Specified by:
      createScaledRendering in interface RenderableImage
    • getMinX

      public float getMinX()
      Specified by:
      getMinX in interface RenderableImage
    • getMinY

      public float getMinY()
      Specified by:
      getMinY in interface RenderableImage
    • getWidth

      public float getWidth()
      Specified by:
      getWidth in interface RenderableImage
    • getHeight

      public float getHeight()
      Specified by:
      getHeight in interface RenderableImage
    • getProperty

      public Object getProperty(String name)
      Specified by:
      getProperty in interface RenderableImage
    • getPropertyNames

      public String[] getPropertyNames()
      Specified by:
      getPropertyNames in interface RenderableImage
    • isDynamic

      public boolean isDynamic()
      Specified by:
      isDynamic in interface RenderableImage
    • getDependencyRegion

      public Shape getDependencyRegion(int srcIndex, Rectangle2D outputRgn)
      Description copied from interface: Filter
      Returns the region of input data is is required to generate outputRgn.
      Specified by:
      getDependencyRegion in interface Filter
      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 user coordiate system for this node.
      Returns:
      The region of input required. This is in the user coordinate system for the source indicated by srcIndex.
    • getDirtyRegion

      public Shape getDirtyRegion(int srcIndex, Rectangle2D inputRgn)
      Description copied from interface: Filter
      This calculates the region of output that is affected by a change in a region of input.
      Specified by:
      getDirtyRegion in interface Filter
      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 user 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 user coordinate system of this node.