Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/java.desktop/share/native/libawt/java2d/Trace.h
41152 views
1
/*
2
* Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
#ifndef _Included_Trace
27
#define _Included_Trace
28
29
#include <jni.h>
30
#include "debug_trace.h"
31
32
#ifdef __cplusplus
33
extern "C" {
34
#endif /* __cplusplus */
35
36
/**
37
* J2dTrace
38
* Trace utility used throughout Java 2D code. Uses a "level"
39
* parameter that allows user to specify how much detail
40
* they want traced at runtime. Tracing is only enabled
41
* in debug mode, to avoid overhead running release build.
42
*/
43
44
#define J2D_TRACE_INVALID -1
45
#define J2D_TRACE_OFF 0
46
#define J2D_TRACE_ERROR 1
47
#define J2D_TRACE_WARNING 2
48
#define J2D_TRACE_INFO 3
49
#define J2D_TRACE_VERBOSE 4
50
#define J2D_TRACE_VERBOSE2 5
51
#define J2D_TRACE_MAX (J2D_TRACE_VERBOSE2+1)
52
53
JNIEXPORT void JNICALL
54
J2dTraceImpl(int level, jboolean cr, const char *string, ...);
55
JNIEXPORT void JNICALL
56
J2dTraceInit();
57
58
#ifndef DEBUG
59
#define J2dTrace(level, string)
60
#define J2dTrace1(level, string, arg1)
61
#define J2dTrace2(level, string, arg1, arg2)
62
#define J2dTrace3(level, string, arg1, arg2, arg3)
63
#define J2dTrace4(level, string, arg1, arg2, arg3, arg4)
64
#define J2dTrace5(level, string, arg1, arg2, arg3, arg4, arg5)
65
#define J2dTrace6(level, string, arg1, arg2, arg3, arg4, arg5, arg6)
66
#define J2dTrace7(level, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
67
#define J2dTrace8(level, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
68
#define J2dTraceLn(level, string)
69
#define J2dTraceLn1(level, string, arg1)
70
#define J2dTraceLn2(level, string, arg1, arg2)
71
#define J2dTraceLn3(level, string, arg1, arg2, arg3)
72
#define J2dTraceLn4(level, string, arg1, arg2, arg3, arg4)
73
#define J2dTraceLn5(level, string, arg1, arg2, arg3, arg4, arg5)
74
#define J2dTraceLn6(level, string, arg1, arg2, arg3, arg4, arg5, arg6)
75
#define J2dTraceLn7(level, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
76
#define J2dTraceLn8(level, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
77
#else /* DEBUG */
78
#define J2dTrace(level, string) { \
79
J2dTraceImpl(level, JNI_FALSE, string); \
80
}
81
#define J2dTrace1(level, string, arg1) { \
82
J2dTraceImpl(level, JNI_FALSE, string, arg1); \
83
}
84
#define J2dTrace2(level, string, arg1, arg2) { \
85
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2); \
86
}
87
#define J2dTrace3(level, string, arg1, arg2, arg3) { \
88
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2, arg3); \
89
}
90
#define J2dTrace4(level, string, arg1, arg2, arg3, arg4) { \
91
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2, arg3, arg4); \
92
}
93
#define J2dTrace5(level, string, arg1, arg2, arg3, arg4, arg5) { \
94
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2, arg3, arg4, arg5); \
95
}
96
#define J2dTrace6(level, string, arg1, arg2, arg3, arg4, arg5, arg6) { \
97
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2, arg3, arg4, arg5, arg6); \
98
}
99
#define J2dTrace7(level, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { \
100
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
101
}
102
#define J2dTrace8(level, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { \
103
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
104
}
105
#define J2dTraceLn(level, string) { \
106
J2dTraceImpl(level, JNI_TRUE, string); \
107
}
108
#define J2dTraceLn1(level, string, arg1) { \
109
J2dTraceImpl(level, JNI_TRUE, string, arg1); \
110
}
111
#define J2dTraceLn2(level, string, arg1, arg2) { \
112
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2); \
113
}
114
#define J2dTraceLn3(level, string, arg1, arg2, arg3) { \
115
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3); \
116
}
117
#define J2dTraceLn4(level, string, arg1, arg2, arg3, arg4) { \
118
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3, arg4); \
119
}
120
#define J2dTraceLn5(level, string, arg1, arg2, arg3, arg4, arg5) { \
121
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3, arg4, arg5); \
122
}
123
#define J2dTraceLn6(level, string, arg1, arg2, arg3, arg4, arg5, arg6) { \
124
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3, arg4, arg5, arg6); \
125
}
126
#define J2dTraceLn7(level, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { \
127
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7); \
128
}
129
#define J2dTraceLn8(level, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { \
130
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); \
131
}
132
#endif /* DEBUG */
133
134
135
/**
136
* NOTE: Use the following RlsTrace calls very carefully; they are compiled
137
* into the code and should thus not be put in any performance-sensitive
138
* areas.
139
*/
140
141
#define J2dRlsTrace(level, string) { \
142
J2dTraceImpl(level, JNI_FALSE, string); \
143
}
144
#define J2dRlsTrace1(level, string, arg1) { \
145
J2dTraceImpl(level, JNI_FALSE, string, arg1); \
146
}
147
#define J2dRlsTrace2(level, string, arg1, arg2) { \
148
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2); \
149
}
150
#define J2dRlsTrace3(level, string, arg1, arg2, arg3) { \
151
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2, arg3); \
152
}
153
#define J2dRlsTrace4(level, string, arg1, arg2, arg3, arg4) { \
154
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2, arg3, arg4); \
155
}
156
#define J2dRlsTrace5(level, string, arg1, arg2, arg3, arg4, arg5) { \
157
J2dTraceImpl(level, JNI_FALSE, string, arg1, arg2, arg3, arg4, arg5); \
158
}
159
#define J2dRlsTraceLn(level, string) { \
160
J2dTraceImpl(level, JNI_TRUE, string); \
161
}
162
#define J2dRlsTraceLn1(level, string, arg1) { \
163
J2dTraceImpl(level, JNI_TRUE, string, arg1); \
164
}
165
#define J2dRlsTraceLn2(level, string, arg1, arg2) { \
166
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2); \
167
}
168
#define J2dRlsTraceLn3(level, string, arg1, arg2, arg3) { \
169
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3); \
170
}
171
#define J2dRlsTraceLn4(level, string, arg1, arg2, arg3, arg4) { \
172
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3, arg4); \
173
}
174
#define J2dRlsTraceLn5(level, string, arg1, arg2, arg3, arg4, arg5) { \
175
J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3, arg4, arg5); \
176
}
177
178
#ifdef __cplusplus
179
};
180
#endif /* __cplusplus */
181
182
#endif /* _Included_Trace */
183
184