--- old/modules/graphics/src/main/java/com/sun/scenario/effect/impl/EffectPeer.java 2014-02-21 17:02:29.000000000 -0800 +++ new/modules/graphics/src/main/java/com/sun/scenario/effect/impl/EffectPeer.java 2014-02-21 17:02:29.000000000 -0800 @@ -32,16 +32,21 @@ import com.sun.javafx.geom.Rectangle; import com.sun.javafx.geom.transform.BaseTransform; import com.sun.javafx.geom.transform.NoninvertibleTransformException; +import com.sun.scenario.effect.impl.state.RenderState; /** * The abstract base class for all {@code Effect} implementation peers. + * + * @param an optional subclass of RenderState that can be assumed as the + * return value for the getRenderState() method */ -public abstract class EffectPeer { +public abstract class EffectPeer { private final FilterContext fctx; private final Renderer renderer; private final String uniqueName; private Effect effect; + private T renderState; private int pass; protected EffectPeer(FilterContext fctx, Renderer renderer, String uniqueName) { @@ -58,6 +63,7 @@ } public abstract ImageData filter(Effect effect, + T renderState, BaseTransform transform, Rectangle outputClip, ImageData... inputs); @@ -101,6 +107,14 @@ this.effect = effect; } + protected T getRenderState() { + return renderState; + } + + protected void setRenderState(T renderState) { + this.renderState = renderState; + } + public final int getPass() { return pass; }