modules/graphics/src/main/java/com/sun/scenario/effect/ZoomRadialBlur.java

Print this page

        

*** 28,37 **** --- 28,38 ---- import com.sun.scenario.effect.impl.state.ZoomRadialBlurState; import com.sun.javafx.geom.DirtyRegionContainer; import com.sun.javafx.geom.DirtyRegionPool; import com.sun.javafx.geom.Rectangle; import com.sun.javafx.geom.transform.BaseTransform; + import com.sun.scenario.effect.impl.state.RenderState; /** * Zoom radial blur effect with a configurable center and radius of the kernel. */ public class ZoomRadialBlur extends CoreEffect {
*** 187,217 **** @Override public ImageData filterImageDatas(FilterContext fctx, BaseTransform transform, Rectangle outputClip, ImageData... inputs) { Rectangle bnd = inputs[0].getUntransformedBounds(); state.updateDeltas(1f/bnd.width, 1f/bnd.height); ! return super.filterImageDatas(fctx, transform, outputClip, inputs); } @Override ! public boolean operatesInUserSpace() { ! return true; ! } ! ! @Override ! protected Rectangle getInputClip(int inputIndex, BaseTransform transform, ! Rectangle outputClip) { // This effect does not appear to expand bounds as it operates, // the blur may zoom "outward", but only to the edge of the // original image... ! return outputClip; } @Override public boolean reducesOpaquePixels() { return true; --- 188,216 ---- @Override public ImageData filterImageDatas(FilterContext fctx, BaseTransform transform, Rectangle outputClip, + RenderState rstate, ImageData... inputs) { Rectangle bnd = inputs[0].getUntransformedBounds(); state.updateDeltas(1f/bnd.width, 1f/bnd.height); ! return super.filterImageDatas(fctx, transform, outputClip, rstate, inputs); } @Override ! public RenderState getRenderState(FilterContext fctx, BaseTransform transform, ! Rectangle outputClip, ! Object renderHelper, ! Effect defaultInput) { // This effect does not appear to expand bounds as it operates, // the blur may zoom "outward", but only to the edge of the // original image... ! return RenderState.UserSpaceRenderState; } @Override public boolean reducesOpaquePixels() { return true;