Print this page
Added gradle and cmake project
Split |
Close |
Expand all |
Collapse all |
--- old/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListLCD.java
+++ new/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListLCD.java
1 1 /*
2 2 * Copyright (c) 2005, 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 package sun.java2d.loops;
27 27
28 28 import sun.java2d.loops.GraphicsPrimitive;
29 29 import sun.java2d.SunGraphics2D;
30 30 import sun.java2d.SurfaceData;
31 31 import sun.font.GlyphList;
32 32
33 33 /**
34 34 * DrawGlyphListLCD- loops for LCDTextRenderer pipe
35 35 * 1) draw LCD anti-aliased text onto destination surface
36 36 * 2) must accept output area [x, y, dx, dy]
37 37 * from within the surface description data for clip rect
38 38 */
39 39 public class DrawGlyphListLCD extends GraphicsPrimitive {
40 40
41 41 public static final String
42 42 methodSignature = "DrawGlyphListLCD(...)".toString();
43 43
44 44 public static final int primTypeID = makePrimTypeID();
45 45
46 46 public static DrawGlyphListLCD locate(SurfaceType srctype,
47 47 CompositeType comptype,
48 48 SurfaceType dsttype)
49 49 {
50 50 return (DrawGlyphListLCD)
51 51 GraphicsPrimitiveMgr.locate(primTypeID,
52 52 srctype, comptype, dsttype);
53 53 }
54 54
55 55 protected DrawGlyphListLCD(SurfaceType srctype,
56 56 CompositeType comptype,
57 57 SurfaceType dsttype)
58 58 {
59 59 super(methodSignature, primTypeID, srctype, comptype, dsttype);
60 60 }
61 61
62 62 public DrawGlyphListLCD(long pNativePrim,
63 63 SurfaceType srctype,
64 64 CompositeType comptype,
65 65 SurfaceType dsttype)
66 66 {
67 67 super(pNativePrim, methodSignature, primTypeID,
68 68 srctype, comptype, dsttype);
69 69 }
70 70
71 71 public native void DrawGlyphListLCD(SunGraphics2D sg2d, SurfaceData dest,
72 72 GlyphList srcData);
73 73
74 74 static {
75 75 GraphicsPrimitiveMgr.registerGeneral(
76 76 new DrawGlyphListLCD(null, null, null));
77 77 }
78 78
79 79 public GraphicsPrimitive makePrimitive(SurfaceType srctype,
80 80 CompositeType comptype,
81 81 SurfaceType dsttype) {
82 82 /* Do not return a General loop. SunGraphics2D determines whether
83 83 * to use LCD or standard AA text based on whether there is an
84 84 * installed loop.
85 85 * This can be uncommented once there is a General loop which can
86 86 * handle one byte per colour component masks properly.
87 87 */
88 88 return null;
89 89 }
90 90
91 91 public GraphicsPrimitive traceWrap() {
92 92 return new TraceDrawGlyphListLCD(this);
93 93 }
94 94
95 95 private static class TraceDrawGlyphListLCD extends DrawGlyphListLCD {
96 96 DrawGlyphListLCD target;
97 97
98 98 public TraceDrawGlyphListLCD(DrawGlyphListLCD target) {
99 99 super(target.getSourceType(),
100 100 target.getCompositeType(),
101 101 target.getDestType());
↓ open down ↓ |
101 lines elided |
↑ open up ↑ |
102 102 this.target = target;
103 103 }
104 104
105 105 public GraphicsPrimitive traceWrap() {
106 106 return this;
107 107 }
108 108
109 109 public void DrawGlyphListLCD(SunGraphics2D sg2d, SurfaceData dest,
110 110 GlyphList glyphs)
111 111 {
112 - tracePrimitive(target);
112 + if ((traceflags & TRACEPTIME) == 0) {
113 + tracePrimitive(target);
114 + }
115 + long time = System.nanoTime();
113 116 target.DrawGlyphListLCD(sg2d, dest, glyphs);
117 + tracePrimitiveTime(target, System.nanoTime() - time);
114 118 }
115 119 }
116 120 }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX