src/java.desktop/macosx/classes/sun/java2d/metal/MetalRenderer.java
branchmetal-prototype-branch
changeset 57416 e153174dba06
parent 57400 978ffc56771f
child 57417 28582d575a98
--- a/src/java.desktop/macosx/classes/sun/java2d/metal/MetalRenderer.java	Mon Jun 10 14:13:09 2019 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-/*
- * Copyright (c) 2019, 2019, Oracle and/or its affiliates. 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.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.java2d.metal;
-
-import java.awt.Transparency;
-import java.awt.geom.Path2D;
-import sun.java2d.InvalidPipeException;
-import sun.java2d.SunGraphics2D;
-import sun.java2d.loops.GraphicsPrimitive;
-import sun.java2d.pipe.BufferedRenderPipe;
-import sun.java2d.pipe.ParallelogramPipe;
-import sun.java2d.pipe.RenderQueue;
-import sun.java2d.pipe.SpanIterator;
-import static sun.java2d.pipe.BufferedOpCodes.*;
-
-class MetalRenderer extends BufferedRenderPipe {
-
-    MetalRenderer(RenderQueue rq) {
-        super(rq);
-    }
-
-    @Override
-    protected void validateContext(SunGraphics2D sg2d) {
-        int ctxflags =
-            sg2d.paint.getTransparency() == Transparency.OPAQUE ?
-                MetalContext.SRC_IS_OPAQUE : MetalContext.NO_CONTEXT_FLAGS;
-        MetalSurfaceData dstData;
-        try {
-            dstData = (MetalSurfaceData)sg2d.surfaceData;
-        } catch (ClassCastException e) {
-            throw new InvalidPipeException("wrong surface data type: " + sg2d.surfaceData);
-        }
-        MetalContext.validateContext(dstData, dstData,
-                                   sg2d.getCompClip(), sg2d.composite,
-                                   null, sg2d.paint, sg2d, ctxflags);
-    }
-
-    @Override
-    protected void validateContextAA(SunGraphics2D sg2d) {
-        int ctxflags = MetalContext.NO_CONTEXT_FLAGS;
-        MetalSurfaceData dstData;
-        try {
-            dstData = (MetalSurfaceData)sg2d.surfaceData;
-        } catch (ClassCastException e) {
-            throw new InvalidPipeException("wrong surface data type: " + sg2d.surfaceData);
-        }
-        MetalContext.validateContext(dstData, dstData,
-                                   sg2d.getCompClip(), sg2d.composite,
-                                   null, sg2d.paint, sg2d, ctxflags);
-    }
-
-    void copyArea(SunGraphics2D sg2d,
-                  int x, int y, int w, int h, int dx, int dy)
-    {
-        rq.lock();
-        try {
-            int ctxflags =
-                sg2d.surfaceData.getTransparency() == Transparency.OPAQUE ?
-                    MetalContext.SRC_IS_OPAQUE : MetalContext.NO_CONTEXT_FLAGS;
-            MetalSurfaceData dstData;
-            try {
-                dstData = (MetalSurfaceData)sg2d.surfaceData;
-            } catch (ClassCastException e) {
-                throw new InvalidPipeException("wrong surface data type: " + sg2d.surfaceData);
-            }
-            MetalContext.validateContext(dstData, dstData,
-                                       sg2d.getCompClip(), sg2d.composite,
-                                       null, null, null, ctxflags);
-
-            rq.ensureCapacity(28);
-            buf.putInt(COPY_AREA);
-            buf.putInt(x).putInt(y).putInt(w).putInt(h);
-            buf.putInt(dx).putInt(dy);
-        } finally {
-            rq.unlock();
-        }
-    }
-
-    @Override
-    protected native void drawPoly(int[] xPoints, int[] yPoints,
-                                   int nPoints, boolean isClosed,
-                                   int transX, int transY);
-
-    MetalRenderer traceWrap() {
-        return new Tracer(this);
-    }
-
-    private class Tracer extends MetalRenderer {
-        private MetalRenderer mtlr;
-        Tracer(MetalRenderer mtlr) {
-            super(mtlr.rq);
-            this.mtlr = mtlr;
-        }
-        public ParallelogramPipe getAAParallelogramPipe() {
-            final ParallelogramPipe realpipe = mtlr.getAAParallelogramPipe();
-            return new ParallelogramPipe() {
-                public void fillParallelogram(SunGraphics2D sg2d,
-                                              double ux1, double uy1,
-                                              double ux2, double uy2,
-                                              double x, double y,
-                                              double dx1, double dy1,
-                                              double dx2, double dy2)
-                {
-                    GraphicsPrimitive.tracePrimitive("OGLFillAAParallelogram");
-                    realpipe.fillParallelogram(sg2d,
-                                               ux1, uy1, ux2, uy2,
-                                               x, y, dx1, dy1, dx2, dy2);
-                }
-                public void drawParallelogram(SunGraphics2D sg2d,
-                                              double ux1, double uy1,
-                                              double ux2, double uy2,
-                                              double x, double y,
-                                              double dx1, double dy1,
-                                              double dx2, double dy2,
-                                              double lw1, double lw2)
-                {
-                    GraphicsPrimitive.tracePrimitive("OGLDrawAAParallelogram");
-                    realpipe.drawParallelogram(sg2d,
-                                               ux1, uy1, ux2, uy2,
-                                               x, y, dx1, dy1, dx2, dy2,
-                                               lw1, lw2);
-                }
-            };
-        }
-        protected void validateContext(SunGraphics2D sg2d) {
-            mtlr.validateContext(sg2d);
-        }
-        public void drawLine(SunGraphics2D sg2d,
-                             int x1, int y1, int x2, int y2)
-        {
-            GraphicsPrimitive.tracePrimitive("OGLDrawLine");
-            mtlr.drawLine(sg2d, x1, y1, x2, y2);
-        }
-        public void drawRect(SunGraphics2D sg2d, int x, int y, int w, int h) {
-            GraphicsPrimitive.tracePrimitive("OGLDrawRect");
-            mtlr.drawRect(sg2d, x, y, w, h);
-        }
-        protected void drawPoly(SunGraphics2D sg2d,
-                                int[] xPoints, int[] yPoints,
-                                int nPoints, boolean isClosed)
-        {
-            GraphicsPrimitive.tracePrimitive("OGLDrawPoly");
-            mtlr.drawPoly(sg2d, xPoints, yPoints, nPoints, isClosed);
-        }
-        public void fillRect(SunGraphics2D sg2d, int x, int y, int w, int h) {
-            GraphicsPrimitive.tracePrimitive("OGLFillRect");
-            mtlr.fillRect(sg2d, x, y, w, h);
-        }
-        protected void drawPath(SunGraphics2D sg2d,
-                                Path2D.Float p2df, int transx, int transy)
-        {
-            GraphicsPrimitive.tracePrimitive("OGLDrawPath");
-            mtlr.drawPath(sg2d, p2df, transx, transy);
-        }
-        protected void fillPath(SunGraphics2D sg2d,
-                                Path2D.Float p2df, int transx, int transy)
-        {
-            GraphicsPrimitive.tracePrimitive("OGLFillPath");
-            mtlr.fillPath(sg2d, p2df, transx, transy);
-        }
-        protected void fillSpans(SunGraphics2D sg2d, SpanIterator si,
-                                 int transx, int transy)
-        {
-            GraphicsPrimitive.tracePrimitive("OGLFillSpans");
-            mtlr.fillSpans(sg2d, si, transx, transy);
-        }
-        public void fillParallelogram(SunGraphics2D sg2d,
-                                      double ux1, double uy1,
-                                      double ux2, double uy2,
-                                      double x, double y,
-                                      double dx1, double dy1,
-                                      double dx2, double dy2)
-        {
-            GraphicsPrimitive.tracePrimitive("OGLFillParallelogram");
-            mtlr.fillParallelogram(sg2d,
-                                   ux1, uy1, ux2, uy2,
-                                   x, y, dx1, dy1, dx2, dy2);
-        }
-        public void drawParallelogram(SunGraphics2D sg2d,
-                                      double ux1, double uy1,
-                                      double ux2, double uy2,
-                                      double x, double y,
-                                      double dx1, double dy1,
-                                      double dx2, double dy2,
-                                      double lw1, double lw2)
-        {
-            GraphicsPrimitive.tracePrimitive("OGLDrawParallelogram");
-            mtlr.drawParallelogram(sg2d,
-                                   ux1, uy1, ux2, uy2,
-                                   x, y, dx1, dy1, dx2, dy2, lw1, lw2);
-        }
-        public void copyArea(SunGraphics2D sg2d,
-                             int x, int y, int w, int h, int dx, int dy)
-        {
-            GraphicsPrimitive.tracePrimitive("OGLCopyArea");
-            mtlr.copyArea(sg2d, x, y, w, h, dx, dy);
-        }
-    }
-}