Print this page
Added gradle and cmake project
Split |
Close |
Expand all |
Collapse all |
--- old/src/java.desktop/share/classes/sun/java2d/loops/FillRect.java
+++ new/src/java.desktop/share/classes/sun/java2d/loops/FillRect.java
1 1 /*
2 2 * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
3 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 4 *
5 5 * This code is free software; you can redistribute it and/or modify it
6 6 * under the terms of the GNU General Public License version 2 only, as
7 7 * published by the Free Software Foundation. Oracle designates this
8 8 * particular file as subject to the "Classpath" exception as provided
9 9 * by Oracle in the LICENSE file that accompanied this code.
10 10 *
11 11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 14 * version 2 for more details (a copy is included in the LICENSE file that
15 15 * accompanied this code).
16 16 *
17 17 * You should have received a copy of the GNU General Public License version
18 18 * 2 along with this work; if not, write to the Free Software Foundation,
19 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 20 *
21 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 22 * or visit www.oracle.com if you need additional information or have any
23 23 * questions.
24 24 */
25 25
26 26 /*
27 27 * @author Charlton Innovations, Inc.
28 28 */
29 29
30 30 package sun.java2d.loops;
31 31
32 32 import sun.java2d.loops.GraphicsPrimitive;
33 33 import sun.java2d.SunGraphics2D;
34 34 import sun.java2d.SurfaceData;
35 35
36 36 /**
37 37 * FillRect
38 38 * 1) draw solid color rectangle onto destination surface
39 39 * 2) must accept output area [x, y, dx, dy]
40 40 * from within the surface description data for clip rect
41 41 */
42 42 public class FillRect extends GraphicsPrimitive
43 43 {
44 44 public static final String methodSignature = "FillRect(...)".toString();
45 45
46 46 public static final int primTypeID = makePrimTypeID();
47 47
48 48 public static FillRect locate(SurfaceType srctype,
49 49 CompositeType comptype,
50 50 SurfaceType dsttype)
51 51 {
52 52 return (FillRect)
53 53 GraphicsPrimitiveMgr.locate(primTypeID,
54 54 srctype, comptype, dsttype);
55 55 }
56 56
57 57 protected FillRect(SurfaceType srctype,
58 58 CompositeType comptype,
59 59 SurfaceType dsttype)
60 60 {
61 61 super(methodSignature, primTypeID, srctype, comptype, dsttype);
62 62 }
63 63
64 64 public FillRect(long pNativePrim,
65 65 SurfaceType srctype,
66 66 CompositeType comptype,
67 67 SurfaceType dsttype)
68 68 {
69 69 super(pNativePrim, methodSignature, primTypeID, srctype, comptype, dsttype);
70 70 }
71 71
72 72 /**
73 73 * All FillRect implementors must have this invoker method
74 74 */
75 75 public native void FillRect(SunGraphics2D sg2d, SurfaceData dest,
76 76 int x, int y, int w, int h);
77 77
78 78 static {
79 79 GraphicsPrimitiveMgr.registerGeneral(new FillRect(null, null, null));
80 80 }
81 81
82 82 public GraphicsPrimitive makePrimitive(SurfaceType srctype,
83 83 CompositeType comptype,
84 84 SurfaceType dsttype)
85 85 {
86 86 return new General(srctype, comptype, dsttype);
87 87 }
88 88
89 89 public static class General extends FillRect {
90 90 public MaskFill fillop;
91 91
92 92 public General(SurfaceType srctype,
93 93 CompositeType comptype,
94 94 SurfaceType dsttype)
95 95 {
96 96 super(srctype, comptype, dsttype);
97 97 fillop = MaskFill.locate(srctype, comptype, dsttype);
98 98 }
99 99
100 100 public void FillRect(SunGraphics2D sg2d, SurfaceData dest,
101 101 int x, int y, int w, int h)
102 102 {
103 103 fillop.MaskFill(sg2d, dest, sg2d.composite, x, y, w, h, null, 0, 0);
104 104 }
105 105 }
106 106
107 107 public GraphicsPrimitive traceWrap() {
108 108 return new TraceFillRect(this);
109 109 }
110 110
111 111 private static class TraceFillRect extends FillRect {
112 112 FillRect target;
113 113
114 114 public TraceFillRect(FillRect target) {
115 115 super(target.getSourceType(),
116 116 target.getCompositeType(),
117 117 target.getDestType());
↓ open down ↓ |
117 lines elided |
↑ open up ↑ |
118 118 this.target = target;
119 119 }
120 120
121 121 public GraphicsPrimitive traceWrap() {
122 122 return this;
123 123 }
124 124
125 125 public void FillRect(SunGraphics2D sg2d, SurfaceData dest,
126 126 int x, int y, int w, int h)
127 127 {
128 - tracePrimitive(target);
128 + if ((traceflags & TRACEPTIME) == 0) {
129 + tracePrimitive(target);
130 + }
131 + long time = System.nanoTime();
129 132 target.FillRect(sg2d, dest, x, y, w, h);
133 + tracePrimitiveTime(target, System.nanoTime() - time);
130 134 }
131 135 }
132 136 }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX