public interface: ContextualRenderedImageFactory
All Implemented Interfaces:
ContextualRenderedImageFactory provides an interface for the
functionality that may differ between instances of
RenderableImageOp. Thus different operations on RenderableImages
may be performed by a single class such as RenderedImageOp through
the use of multiple instances of ContextualRenderedImageFactory.
The name ContextualRenderedImageFactory is commonly shortened to
All operations that are to be used in a rendering-independent
chain must implement ContextualRenderedImageFactory.
Classes that implement this interface must provide a
constructor with no arguments.
|Method from java.awt.image.renderable.ContextualRenderedImageFactory Detail:|
public RenderedImage create(RenderContext renderContext,
Creates a rendering, given a RenderContext and a ParameterBlock
containing the operation's sources and parameters. The output
is a RenderedImage that takes the RenderContext into account to
determine its dimensions and placement on the image plane.
This method houses the "intelligence" that allows a
rendering-independent operation to adapt to a specific
public Rectangle2D getBounds2D(ParameterBlock paramBlock)
Returns the bounding box for the output of the operation,
performed on a given set of sources, in rendering-independent
space. The bounds are returned as a Rectangle2D, that is, an
axis-aligned rectangle with floating-point corner coordinates.
public Object getProperty(ParameterBlock paramBlock,
Gets the appropriate instance of the property specified by the name
parameter. This method must determine which instance of a property to
return when there are multiple sources that each specify the property.
public String getPropertyNames()
Returns a list of names recognized by getProperty.
public boolean isDynamic()
Returns true if successive renderings (that is, calls to
create(RenderContext, ParameterBlock)) with the same arguments
may produce different results. This method may be used to
determine whether an existing rendering may be cached and
reused. It is always safe to return true.
public RenderContext mapRenderContext(int i,
Maps the operation's output RenderContext into a RenderContext
for each of the operation's sources. This is useful for
operations that can be expressed in whole or in part simply as
alterations in the RenderContext, such as an affine mapping, or
operations that wish to obtain lower quality renderings of
their sources in order to save processing effort or
transmission bandwith. Some operations, such as blur, can also
use this mechanism to avoid obtaining sources of higher quality