--- old/modules/graphics/src/main/java/com/sun/scenario/effect/MotionBlur.java 2014-02-21 17:02:00.000000000 -0800 +++ new/modules/graphics/src/main/java/com/sun/scenario/effect/MotionBlur.java 2014-02-21 17:02:00.000000000 -0800 @@ -32,13 +32,14 @@ import com.sun.javafx.geom.Rectangle; import com.sun.javafx.geom.transform.BaseTransform; import com.sun.scenario.effect.impl.Renderer; +import com.sun.scenario.effect.impl.state.LinearConvolveKernel; import com.sun.scenario.effect.impl.state.MotionBlurState; /** * A motion blur effect using a Gaussian convolution kernel, with a * configurable radius and angle. */ -public class MotionBlur extends CoreEffect { +public class MotionBlur extends LinearConvolveCoreEffect { private MotionBlurState state = new MotionBlurState(); @@ -89,7 +90,7 @@ } @Override - Object getState() { + LinearConvolveKernel getState() { return state; } @@ -140,7 +141,6 @@ * allowable range */ public void setRadius(float radius) { - float old = state.getRadius(); state.setRadius(radius); } @@ -165,7 +165,6 @@ * @param angle the angle of the motion effect, in radians */ public void setAngle(float angle) { - float old = state.getAngle(); state.setAngle(angle); } @@ -193,39 +192,6 @@ } @Override - public ImageData filterImageDatas(FilterContext fctx, - BaseTransform transform, - Rectangle outputClip, - ImageData... inputs) - { - return state.filterImageDatas(this, fctx, transform, outputClip, inputs); - } - - @Override - public boolean operatesInUserSpace() { - return true; - } - - @Override - protected Rectangle getInputClip(int inputIndex, - BaseTransform transform, - Rectangle outputClip) - { - // A blur needs as much "fringe" data from its input as it creates - // around its output so we use the same expansion as is used in the - // result bounds. - if (outputClip != null) { - int hpad = state.getHPad(); - int vpad = state.getVPad(); - if ((hpad | vpad) != 0) { - outputClip = new Rectangle(outputClip); - outputClip.grow(hpad, vpad); - } - } - return outputClip; - } - - @Override public boolean reducesOpaquePixels() { if (!state.isNop()) { return true;