| sun.java2d.loops.MaskFill sun.java2d.pipe.BufferedMaskFill
All known Subclasses: sun.java2d.opengl.OGLMaskFill,
BufferedMaskFill | abstract public class BufferedMaskFill extends MaskFill (Code) | | The MaskFill operation is expressed as:
dst = ((src dst) * pathA) + (dst * (1 - pathA))
The OGL/D3D implementation of the MaskFill 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 BufferedMaskFill operation
is expressed as:
dst = (src * pathA) dst
This simplified formula is only equivalent to the "true" MaskFill equation
in the following situations:
- is SrcOver
- is Src, extra alpha == 1.0, and the source paint is opaque
Therefore, we register BufferedMaskFill primitives for only the SurfaceType
and CompositeType restrictions mentioned above. In addition, for the
SrcNoEa case we must override the incoming composite with a SrcOver (no
extra alpha) instance, so that we set up the OpenGL/Direct3D blending
mode to match the BufferedMaskFill equation.
|
Method Summary | |
public void | MaskFill(SunGraphics2D sg2d, SurfaceData sData, Composite comp, int x, int y, int w, int h, byte[] mask, int maskoff, int maskscan) | abstract protected void | maskFill(int x, int y, int w, int h, int maskoff, int maskscan, int masklen, byte[] mask) Called as a separate Runnable when the operation is too large to fit
on the RenderQueue. | abstract protected void | validateContext(SunGraphics2D sg2d, Composite comp, int ctxflags) Validates the state in the provided SunGraphics2D object and sets up
any special resources for this operation (e.g. |
maskFill | abstract protected void maskFill(int x, int y, int w, int h, int maskoff, int maskscan, int masklen, byte[] mask)(Code) | | Called as a separate Runnable when the operation is too large to fit
on the RenderQueue. The OGL/D3D pipelines each have their own (small)
native implementation of this method.
|
validateContext | abstract protected void validateContext(SunGraphics2D sg2d, Composite comp, int ctxflags)(Code) | | Validates the state in the provided SunGraphics2D object and sets up
any special resources for this operation (e.g. enabling gradient
shading).
|
Methods inherited from sun.java2d.loops.MaskFill | native public void MaskFill(SunGraphics2D sg2d, SurfaceData sData, Composite comp, int x, int y, int w, int h, byte[] mask, int maskoff, int maskscan)(Code)(Java Doc) public static MaskFill getFromCache(SurfaceType src, CompositeType comp, SurfaceType dst)(Code)(Java Doc) public static MaskFill locate(SurfaceType srctype, CompositeType comptype, SurfaceType dsttype)(Code)(Java Doc) public static MaskFill locatePrim(SurfaceType srctype, CompositeType comptype, SurfaceType dsttype)(Code)(Java Doc) public GraphicsPrimitive makePrimitive(SurfaceType srctype, CompositeType comptype, SurfaceType dsttype)(Code)(Java Doc) public GraphicsPrimitive traceWrap()(Code)(Java Doc)
|
|
|