diff options
Diffstat (limited to 'src/windows/classes/sun/java2d/d3d/D3DMaskBlit.java')
-rw-r--r-- | src/windows/classes/sun/java2d/d3d/D3DMaskBlit.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/windows/classes/sun/java2d/d3d/D3DMaskBlit.java b/src/windows/classes/sun/java2d/d3d/D3DMaskBlit.java new file mode 100644 index 000000000..dbdc345e2 --- /dev/null +++ b/src/windows/classes/sun/java2d/d3d/D3DMaskBlit.java @@ -0,0 +1,69 @@ +/* + * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package sun.java2d.d3d; + +import java.awt.Composite; +import sun.java2d.SurfaceData; +import sun.java2d.loops.CompositeType; +import sun.java2d.loops.GraphicsPrimitive; +import sun.java2d.loops.GraphicsPrimitiveMgr; +import sun.java2d.loops.SurfaceType; +import sun.java2d.pipe.Region; +import sun.java2d.pipe.BufferedMaskBlit; +import static sun.java2d.loops.CompositeType.*; +import static sun.java2d.loops.SurfaceType.*; + +class D3DMaskBlit extends BufferedMaskBlit { + + static void register() { + GraphicsPrimitive[] primitives = { + new D3DMaskBlit(IntArgb, SrcOver), + new D3DMaskBlit(IntArgbPre, SrcOver), + new D3DMaskBlit(IntRgb, SrcOver), + new D3DMaskBlit(IntRgb, SrcNoEa), + new D3DMaskBlit(IntBgr, SrcOver), + new D3DMaskBlit(IntBgr, SrcNoEa), + }; + GraphicsPrimitiveMgr.register(primitives); + } + + private D3DMaskBlit(SurfaceType srcType, + CompositeType compType) + { + super(D3DRenderQueue.getInstance(), + srcType, compType, D3DSurfaceData.D3DSurface); + } + + @Override + protected void validateContext(SurfaceData dstData, + Composite comp, Region clip) + { + D3DSurfaceData d3dDst = (D3DSurfaceData)dstData; + D3DContext.validateContext(d3dDst, d3dDst, + clip, comp, null, null, null, + D3DContext.NO_CONTEXT_FLAGS); + } +} |