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;