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; } }