public abstract class

BufferedMaskBlit

extends MaskBlit
java.lang.Object
   ↳ sun.java2d.loops.GraphicsPrimitive
     ↳ sun.java2d.loops.MaskBlit
       ↳ sun.java2d.pipe.BufferedMaskBlit

Class Overview

The MaskBlit operation is expressed as: dst = ((src dst) * pathA) + (dst * (1 - pathA)) The OGL/D3D implementation of the MaskBlit operation differs from the above equation because it is not possible to perform such a complex operation in OpenGL/Direct3D (without the use of advanced techniques like fragment shaders and multitexturing). Therefore, the BufferedMaskBlit operation is expressed as: dst = (src * pathA) dst This simplified formula is only equivalent to the "true" MaskBlit equation in the following situations: - is SrcOver - is Src, extra alpha == 1.0, and the source surface is opaque Therefore, we register BufferedMaskBlit primitives for only the SurfaceType and CompositeType restrictions mentioned above. In addition for the Src case, we must override the composite with a SrcOver (no extra alpha) instance, so that we set up the OpenGL/Direct3D blending mode to match the BufferedMaskBlit equation.

Summary

[Expand]
Inherited Constants
From class sun.java2d.loops.GraphicsPrimitive
[Expand]
Inherited Fields
From class sun.java2d.loops.MaskBlit
From class sun.java2d.loops.GraphicsPrimitive
Protected Constructors
BufferedMaskBlit(RenderQueue rq, SurfaceType srcType, CompositeType compType, SurfaceType dstType)
Public Methods
void MaskBlit(SurfaceData src, SurfaceData dst, Composite comp, Region clip, int srcx, int srcy, int dstx, int dsty, int width, int height, byte[] mask, int maskoff, int maskscan)
All MaskBlit implementors must have this invoker method
Protected Methods
abstract void validateContext(SurfaceData dstData, Composite comp, Region clip)
Validates the context state using the given destination surface and composite/clip values.
[Expand]
Inherited Methods
From class sun.java2d.loops.MaskBlit
From class sun.java2d.loops.GraphicsPrimitive
From class java.lang.Object

Protected Constructors

protected BufferedMaskBlit (RenderQueue rq, SurfaceType srcType, CompositeType compType, SurfaceType dstType)

Public Methods

public void MaskBlit (SurfaceData src, SurfaceData dst, Composite comp, Region clip, int srcx, int srcy, int dstx, int dsty, int width, int height, byte[] mask, int maskoff, int maskscan)

All MaskBlit implementors must have this invoker method

Protected Methods

protected abstract void validateContext (SurfaceData dstData, Composite comp, Region clip)

Validates the context state using the given destination surface and composite/clip values.