aboutsummaryrefslogtreecommitdiffstats
path: root/make/glu-common.cfg
blob: 917a95a62fe1fa20bee0e7dd857679c14ba253ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# This .cfg file provides common options used among all GLU glue code
# generated for Jogl on all platforms.
Package net.java.games.jogl
ImplPackage net.java.games.jogl.impl
JavaClass GLU
ImplJavaClass GLUImpl
JavaOutputDir ../build/gensrc/classes
NativeOutputDir ../build/gensrc/native/jogl
HierarchicalNativeOutput false

#
# Imports needed by all glue code
#
Import java.nio.*
Import net.java.games.jogl.*
Import net.java.games.jogl.impl.*

# Raise GLException instead of RuntimeException in glue code
RuntimeExceptionType GLException

#
# Opaques and other directives for platform-independent routines
#

Opaque boolean GLboolean
Opaque boolean BOOL

#
# Some functions that return native byte pointers or accept them as
# arguments should have them auto-converted to Java Strings
#
ReturnsString gluGetString
ReturnsString gluErrorString
ArgumentIsString gluCheckExtension 0 1

#
# Some routines should only use the Java New IO package
#
#NIOOnly gluScaleImage
#NIOOnly gluBuild1DMipmaps
#NIOOnly gluBuild2DMipmaps
#NIOOnly gluBuild3DMipmaps
#NIOOnly gluBuild1DMipmapLevels
#NIOOnly gluBuild2DMipmapLevels
#NIOOnly gluBuild3DMipmapLevels

#
# Don't output #defines of GLU version identifier strings as constants, 
# because we don't need them java-side. 
#
Ignore GLU_VERSION_.+

#
# Ignore the non-GLU functions 
#
Ignore gl[^u].+

#
# Ignore the non-GLU constants
#
Ignore GL[^U]?_.+

#
# Ignore the GLU extension constants, since we don't need them java-side
#
Ignore GLU_EXT_.+

# Javadoc for the GLU class
ClassJavadoc GLU /**
ClassJavadoc GLU  * Provides access to the OpenGL utility library routines.
ClassJavadoc GLU  * See {@link GL} for more information.
ClassJavadoc GLU  */

# Javadoc for the GLUnurbs class
ClassJavadoc GLUnurbs /**
ClassJavadoc GLUnurbs  * Wrapper for a GLU NURBS object.
ClassJavadoc GLUnurbs  */

# Javadoc for the GLUquadric class
ClassJavadoc GLUquadric /**
ClassJavadoc GLUquadric  * Wrapper for a GLU quadric object.
ClassJavadoc GLUquadric  */

# Javadoc for the GLUtesselator class
ClassJavadoc GLUtesselator /**
ClassJavadoc GLUtesselator  * Wrapper for a GLU tesselator object.
ClassJavadoc GLUtesselator  */

#
# ------------------------
#         NURBS
# ------------------------
#

#
# !!!!!!!!!!!!! FIXME:
# Ignore these Nurbs things until we get other stuff working
#
Ignore gluBeginCurve
Ignore gluBeginSurface
Ignore gluBeginTrim
Ignore gluEndCurve
Ignore gluEndSurface
Ignore gluEndTrim
Ignore gluLoadSamplingMatrices
Ignore gluPwlCurve
Ignore gluNewNurbsRenderer
Ignore gluDeleteNurbsRenderer
Ignore gluNurbsProperty
Ignore gluGetNurbsProperty
Ignore gluNurbsCallback.*
Ignore gluNurbsCurve
Ignore gluNurbsSurface
Ignore GLU_NURB.+
Ignore GLU_.*PARAMETRIC.+

#
# ------------------------
#     Tesselators
# ------------------------
#

#
# Ignore these methods; we must manually implement their C and Java code
#
Ignore gluBeginPolygon
Ignore gluTessCallback
Ignore gluDeleteTess
Ignore gluEndPolygon
Ignore gluGetTessProperty
Ignore gluNewTess
Ignore gluNextContour
Ignore gluTessBeginContour
Ignore gluTessBeginPolygon
Ignore gluTessEndContour
Ignore gluTessEndPolygon
Ignore gluTessNormal
Ignore gluTessProperty
Ignore gluTessVertex
Ignore gluTessCallback.*
Ignore GLUtesselator

#
# ------------------------
#     Quadrics
# ------------------------
#
#
# !!!!!!!!!!!!! FIXME:
# Ignore these Quadric things until we get other stuff working
#
Ignore gluQuadricCallback.*

# Manually implement the GLU quadric functionality to mostly conform
# to the C APIs
Ignore GLUquadric
ManuallyImplement gluCylinder
ManuallyImplement gluDeleteQuadric
ManuallyImplement gluDisk
ManuallyImplement gluNewQuadric
ManuallyImplement gluPartialDisk
ManuallyImplement gluQuadricDrawStyle
ManuallyImplement gluQuadricNormals
ManuallyImplement gluQuadricOrientation
ManuallyImplement gluQuadricTexture
ManuallyImplement gluSphere

# Ignore a few of the projection/unprojection APIs altogether because
# their signatures aren't specified correctly in the header file
Ignore gluProject
Ignore gluUnProject
Ignore gluUnProject4

# Manually implement the rest of the projection / unprojection APIs
ManuallyImplement gluOrtho2D
ManuallyImplement gluPerspective
ManuallyImplement gluLookAt
ManuallyImplement gluPickMatrix

#
# ------------------------
#     Mipmaps
# ------------------------
#
# Ignore the mipmap routines and use GKW's Java port instead.
# Currently the Java and native code have fallback paths to the
# C code, but this will be removed in a future release.

Ignore gluBuild1DMipmapLevels
Ignore gluBuild1DMipmaps
Ignore gluBuild2DMipmapLevels
Ignore gluBuild2DMipmaps
Ignore gluBuild3DMipmapLevels
Ignore gluBuild3DMipmaps
Ignore gluScaleImage

# Must force proc address generation for these routines, though, since
# we still fall back on the C implementations

ForceProcAddressGen gluBuild1DMipmapLevels
ForceProcAddressGen gluBuild1DMipmaps
ForceProcAddressGen gluBuild2DMipmapLevels
ForceProcAddressGen gluBuild2DMipmaps
ForceProcAddressGen gluBuild3DMipmapLevels
ForceProcAddressGen gluBuild3DMipmaps
ForceProcAddressGen gluScaleImage