44 * may be performed by a single class such as RenderedImageOp through
45 * the use of multiple instances of ContextualRenderedImageFactory.
46 * The name ContextualRenderedImageFactory is commonly shortened to
47 * "CRIF."
48 *
49 * <p> All operations that are to be used in a rendering-independent
50 * chain must implement ContextualRenderedImageFactory.
51 *
52 * <p> Classes that implement this interface must provide a
53 * constructor with no arguments.
54 */
55 public interface ContextualRenderedImageFactory extends RenderedImageFactory {
56
57 /**
58 * Maps the operation's output RenderContext into a RenderContext
59 * for each of the operation's sources. This is useful for
60 * operations that can be expressed in whole or in part simply as
61 * alterations in the RenderContext, such as an affine mapping, or
62 * operations that wish to obtain lower quality renderings of
63 * their sources in order to save processing effort or
64 * transmission bandwith. Some operations, such as blur, can also
65 * use this mechanism to avoid obtaining sources of higher quality
66 * than necessary.
67 *
68 * @param i the index of the source image.
69 * @param renderContext the RenderContext being applied to the operation.
70 * @param paramBlock a ParameterBlock containing the operation's
71 * sources and parameters.
72 * @param image the RenderableImage being rendered.
73 * @return a <code>RenderContext</code> for
74 * the source at the specified index of the parameters
75 * Vector contained in the specified ParameterBlock.
76 */
77 RenderContext mapRenderContext(int i,
78 RenderContext renderContext,
79 ParameterBlock paramBlock,
80 RenderableImage image);
81
82 /**
83 * Creates a rendering, given a RenderContext and a ParameterBlock
84 * containing the operation's sources and parameters. The output
|
44 * may be performed by a single class such as RenderedImageOp through
45 * the use of multiple instances of ContextualRenderedImageFactory.
46 * The name ContextualRenderedImageFactory is commonly shortened to
47 * "CRIF."
48 *
49 * <p> All operations that are to be used in a rendering-independent
50 * chain must implement ContextualRenderedImageFactory.
51 *
52 * <p> Classes that implement this interface must provide a
53 * constructor with no arguments.
54 */
55 public interface ContextualRenderedImageFactory extends RenderedImageFactory {
56
57 /**
58 * Maps the operation's output RenderContext into a RenderContext
59 * for each of the operation's sources. This is useful for
60 * operations that can be expressed in whole or in part simply as
61 * alterations in the RenderContext, such as an affine mapping, or
62 * operations that wish to obtain lower quality renderings of
63 * their sources in order to save processing effort or
64 * transmission bandwidth. Some operations, such as blur, can also
65 * use this mechanism to avoid obtaining sources of higher quality
66 * than necessary.
67 *
68 * @param i the index of the source image.
69 * @param renderContext the RenderContext being applied to the operation.
70 * @param paramBlock a ParameterBlock containing the operation's
71 * sources and parameters.
72 * @param image the RenderableImage being rendered.
73 * @return a <code>RenderContext</code> for
74 * the source at the specified index of the parameters
75 * Vector contained in the specified ParameterBlock.
76 */
77 RenderContext mapRenderContext(int i,
78 RenderContext renderContext,
79 ParameterBlock paramBlock,
80 RenderableImage image);
81
82 /**
83 * Creates a rendering, given a RenderContext and a ParameterBlock
84 * containing the operation's sources and parameters. The output
|