modules/graphics/src/main/java/com/sun/scenario/effect/impl/prism/ps/PPStoPSWDisplacementMapPeer.java
Print this page
*** 34,43 ****
--- 34,44 ----
import com.sun.scenario.effect.impl.Renderer;
import com.sun.scenario.effect.impl.EffectPeer;
import com.sun.scenario.effect.impl.prism.PrDrawable;
import com.sun.scenario.effect.impl.prism.PrRenderer;
import com.sun.scenario.effect.impl.prism.PrTexture;
+ import com.sun.scenario.effect.impl.state.RenderState;
public class PPStoPSWDisplacementMapPeer extends EffectPeer {
PrRenderer softwareRenderer;
EffectPeer softwarePeer;
*** 46,57 ****
softwareRenderer = PrRenderer.createSoftwareRenderer(fctx);
softwarePeer = softwareRenderer.getPeerInstance(fctx, "DisplacementMap", 0);
}
@Override
! public ImageData filter(Effect effect, BaseTransform transform,
! Rectangle outputClip, ImageData... inputs)
{
ImageData input = inputs[0];
PrTexture srcTex = (PrTexture) input.getUntransformedImage();
RTTexture srcRT = (RTTexture) srcTex.getTextureObject();
// The software renderer produces drawables that also implement HeapImage
--- 47,61 ----
softwareRenderer = PrRenderer.createSoftwareRenderer(fctx);
softwarePeer = softwareRenderer.getPeerInstance(fctx, "DisplacementMap", 0);
}
@Override
! public ImageData filter(Effect effect,
! RenderState rstate,
! BaseTransform transform,
! Rectangle outputClip,
! ImageData... inputs)
{
ImageData input = inputs[0];
PrTexture srcTex = (PrTexture) input.getUntransformedImage();
RTTexture srcRT = (RTTexture) srcTex.getTextureObject();
// The software renderer produces drawables that also implement HeapImage
*** 60,70 ****
input.getUntransformedBounds());
heapinput = heapinput.transform(input.getTransform());
// The software peer will return a PrDrawable that can produce a
// prism Texture on demand as needed.
! ImageData ret = softwarePeer.filter(effect, transform, outputClip, heapinput);
// Note that heapinput should not be unref()ed since it shares the
// rtt with input/srcTex and we do not want it to dispose the rtt.
return ret;
}
}
--- 64,74 ----
input.getUntransformedBounds());
heapinput = heapinput.transform(input.getTransform());
// The software peer will return a PrDrawable that can produce a
// prism Texture on demand as needed.
! ImageData ret = softwarePeer.filter(effect, rstate, transform, outputClip, heapinput);
// Note that heapinput should not be unref()ed since it shares the
// rtt with input/srcTex and we do not want it to dispose the rtt.
return ret;
}
}