VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glu.h@ 68495

Last change on this file since 68495 was 64269, checked in by vboxsync, 8 years ago

bugref:3810: X11 Guest Additions maintenance: remove unnecessary parts of the Mesa 7.2 sources from the tree, leaving only public OpenGL header files. The reason we are not just switching to using the Mesa 11 headers is that they currently conflict with our API definitions in APIspec.txt including due to increased const-correctness.

File size: 16.8 KB
Line 
1/*
2 * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
3 * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice including the dates of first publication and
13 * either this permission notice or a reference to
14 * http://oss.sgi.com/projects/FreeB/
15 * shall be included in all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
22 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 * SOFTWARE.
24 *
25 * Except as contained in this notice, the name of Silicon Graphics, Inc.
26 * shall not be used in advertising or otherwise to promote the sale, use or
27 * other dealings in this Software without prior written authorization from
28 * Silicon Graphics, Inc.
29 */
30
31#ifndef __glu_h__
32#define __glu_h__
33
34#if defined(USE_MGL_NAMESPACE)
35#include "glu_mangle.h"
36#endif
37
38#include <GL/gl.h>
39
40#ifndef GLAPIENTRY
41#define GLAPIENTRY
42#endif
43
44#ifndef GLAPIENTRYP
45#define GLAPIENTRYP GLAPIENTRY *
46#endif
47
48#if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GLU32)
49# undef GLAPI
50# define GLAPI __declspec(dllexport)
51#elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL)
52/* tag specifying we're building for DLL runtime support */
53# undef GLAPI
54# define GLAPI __declspec(dllimport)
55#elif !defined(GLAPI)
56/* for use with static link lib build of Win32 edition only */
57# define GLAPI extern
58#endif /* _STATIC_MESA support */
59
60#ifdef __cplusplus
61extern "C" {
62#endif
63
64/*************************************************************/
65
66/* Extensions */
67#define GLU_EXT_object_space_tess 1
68#define GLU_EXT_nurbs_tessellator 1
69
70/* Boolean */
71#define GLU_FALSE 0
72#define GLU_TRUE 1
73
74/* Version */
75#define GLU_VERSION_1_1 1
76#define GLU_VERSION_1_2 1
77#define GLU_VERSION_1_3 1
78
79/* StringName */
80#define GLU_VERSION 100800
81#define GLU_EXTENSIONS 100801
82
83/* ErrorCode */
84#define GLU_INVALID_ENUM 100900
85#define GLU_INVALID_VALUE 100901
86#define GLU_OUT_OF_MEMORY 100902
87#define GLU_INCOMPATIBLE_GL_VERSION 100903
88#define GLU_INVALID_OPERATION 100904
89
90/* NurbsDisplay */
91/* GLU_FILL */
92#define GLU_OUTLINE_POLYGON 100240
93#define GLU_OUTLINE_PATCH 100241
94
95/* NurbsCallback */
96#define GLU_NURBS_ERROR 100103
97#define GLU_ERROR 100103
98#define GLU_NURBS_BEGIN 100164
99#define GLU_NURBS_BEGIN_EXT 100164
100#define GLU_NURBS_VERTEX 100165
101#define GLU_NURBS_VERTEX_EXT 100165
102#define GLU_NURBS_NORMAL 100166
103#define GLU_NURBS_NORMAL_EXT 100166
104#define GLU_NURBS_COLOR 100167
105#define GLU_NURBS_COLOR_EXT 100167
106#define GLU_NURBS_TEXTURE_COORD 100168
107#define GLU_NURBS_TEX_COORD_EXT 100168
108#define GLU_NURBS_END 100169
109#define GLU_NURBS_END_EXT 100169
110#define GLU_NURBS_BEGIN_DATA 100170
111#define GLU_NURBS_BEGIN_DATA_EXT 100170
112#define GLU_NURBS_VERTEX_DATA 100171
113#define GLU_NURBS_VERTEX_DATA_EXT 100171
114#define GLU_NURBS_NORMAL_DATA 100172
115#define GLU_NURBS_NORMAL_DATA_EXT 100172
116#define GLU_NURBS_COLOR_DATA 100173
117#define GLU_NURBS_COLOR_DATA_EXT 100173
118#define GLU_NURBS_TEXTURE_COORD_DATA 100174
119#define GLU_NURBS_TEX_COORD_DATA_EXT 100174
120#define GLU_NURBS_END_DATA 100175
121#define GLU_NURBS_END_DATA_EXT 100175
122
123/* NurbsError */
124#define GLU_NURBS_ERROR1 100251
125#define GLU_NURBS_ERROR2 100252
126#define GLU_NURBS_ERROR3 100253
127#define GLU_NURBS_ERROR4 100254
128#define GLU_NURBS_ERROR5 100255
129#define GLU_NURBS_ERROR6 100256
130#define GLU_NURBS_ERROR7 100257
131#define GLU_NURBS_ERROR8 100258
132#define GLU_NURBS_ERROR9 100259
133#define GLU_NURBS_ERROR10 100260
134#define GLU_NURBS_ERROR11 100261
135#define GLU_NURBS_ERROR12 100262
136#define GLU_NURBS_ERROR13 100263
137#define GLU_NURBS_ERROR14 100264
138#define GLU_NURBS_ERROR15 100265
139#define GLU_NURBS_ERROR16 100266
140#define GLU_NURBS_ERROR17 100267
141#define GLU_NURBS_ERROR18 100268
142#define GLU_NURBS_ERROR19 100269
143#define GLU_NURBS_ERROR20 100270
144#define GLU_NURBS_ERROR21 100271
145#define GLU_NURBS_ERROR22 100272
146#define GLU_NURBS_ERROR23 100273
147#define GLU_NURBS_ERROR24 100274
148#define GLU_NURBS_ERROR25 100275
149#define GLU_NURBS_ERROR26 100276
150#define GLU_NURBS_ERROR27 100277
151#define GLU_NURBS_ERROR28 100278
152#define GLU_NURBS_ERROR29 100279
153#define GLU_NURBS_ERROR30 100280
154#define GLU_NURBS_ERROR31 100281
155#define GLU_NURBS_ERROR32 100282
156#define GLU_NURBS_ERROR33 100283
157#define GLU_NURBS_ERROR34 100284
158#define GLU_NURBS_ERROR35 100285
159#define GLU_NURBS_ERROR36 100286
160#define GLU_NURBS_ERROR37 100287
161
162/* NurbsProperty */
163#define GLU_AUTO_LOAD_MATRIX 100200
164#define GLU_CULLING 100201
165#define GLU_SAMPLING_TOLERANCE 100203
166#define GLU_DISPLAY_MODE 100204
167#define GLU_PARAMETRIC_TOLERANCE 100202
168#define GLU_SAMPLING_METHOD 100205
169#define GLU_U_STEP 100206
170#define GLU_V_STEP 100207
171#define GLU_NURBS_MODE 100160
172#define GLU_NURBS_MODE_EXT 100160
173#define GLU_NURBS_TESSELLATOR 100161
174#define GLU_NURBS_TESSELLATOR_EXT 100161
175#define GLU_NURBS_RENDERER 100162
176#define GLU_NURBS_RENDERER_EXT 100162
177
178/* NurbsSampling */
179#define GLU_OBJECT_PARAMETRIC_ERROR 100208
180#define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208
181#define GLU_OBJECT_PATH_LENGTH 100209
182#define GLU_OBJECT_PATH_LENGTH_EXT 100209
183#define GLU_PATH_LENGTH 100215
184#define GLU_PARAMETRIC_ERROR 100216
185#define GLU_DOMAIN_DISTANCE 100217
186
187/* NurbsTrim */
188#define GLU_MAP1_TRIM_2 100210
189#define GLU_MAP1_TRIM_3 100211
190
191/* QuadricDrawStyle */
192#define GLU_POINT 100010
193#define GLU_LINE 100011
194#define GLU_FILL 100012
195#define GLU_SILHOUETTE 100013
196
197/* QuadricCallback */
198/* GLU_ERROR */
199
200/* QuadricNormal */
201#define GLU_SMOOTH 100000
202#define GLU_FLAT 100001
203#define GLU_NONE 100002
204
205/* QuadricOrientation */
206#define GLU_OUTSIDE 100020
207#define GLU_INSIDE 100021
208
209/* TessCallback */
210#define GLU_TESS_BEGIN 100100
211#define GLU_BEGIN 100100
212#define GLU_TESS_VERTEX 100101
213#define GLU_VERTEX 100101
214#define GLU_TESS_END 100102
215#define GLU_END 100102
216#define GLU_TESS_ERROR 100103
217#define GLU_TESS_EDGE_FLAG 100104
218#define GLU_EDGE_FLAG 100104
219#define GLU_TESS_COMBINE 100105
220#define GLU_TESS_BEGIN_DATA 100106
221#define GLU_TESS_VERTEX_DATA 100107
222#define GLU_TESS_END_DATA 100108
223#define GLU_TESS_ERROR_DATA 100109
224#define GLU_TESS_EDGE_FLAG_DATA 100110
225#define GLU_TESS_COMBINE_DATA 100111
226
227/* TessContour */
228#define GLU_CW 100120
229#define GLU_CCW 100121
230#define GLU_INTERIOR 100122
231#define GLU_EXTERIOR 100123
232#define GLU_UNKNOWN 100124
233
234/* TessProperty */
235#define GLU_TESS_WINDING_RULE 100140
236#define GLU_TESS_BOUNDARY_ONLY 100141
237#define GLU_TESS_TOLERANCE 100142
238
239/* TessError */
240#define GLU_TESS_ERROR1 100151
241#define GLU_TESS_ERROR2 100152
242#define GLU_TESS_ERROR3 100153
243#define GLU_TESS_ERROR4 100154
244#define GLU_TESS_ERROR5 100155
245#define GLU_TESS_ERROR6 100156
246#define GLU_TESS_ERROR7 100157
247#define GLU_TESS_ERROR8 100158
248#define GLU_TESS_MISSING_BEGIN_POLYGON 100151
249#define GLU_TESS_MISSING_BEGIN_CONTOUR 100152
250#define GLU_TESS_MISSING_END_POLYGON 100153
251#define GLU_TESS_MISSING_END_CONTOUR 100154
252#define GLU_TESS_COORD_TOO_LARGE 100155
253#define GLU_TESS_NEED_COMBINE_CALLBACK 100156
254
255/* TessWinding */
256#define GLU_TESS_WINDING_ODD 100130
257#define GLU_TESS_WINDING_NONZERO 100131
258#define GLU_TESS_WINDING_POSITIVE 100132
259#define GLU_TESS_WINDING_NEGATIVE 100133
260#define GLU_TESS_WINDING_ABS_GEQ_TWO 100134
261
262/*************************************************************/
263
264
265#ifdef __cplusplus
266class GLUnurbs;
267class GLUquadric;
268class GLUtesselator;
269#else
270typedef struct GLUnurbs GLUnurbs;
271typedef struct GLUquadric GLUquadric;
272typedef struct GLUtesselator GLUtesselator;
273#endif
274
275typedef GLUnurbs GLUnurbsObj;
276typedef GLUquadric GLUquadricObj;
277typedef GLUtesselator GLUtesselatorObj;
278typedef GLUtesselator GLUtriangulatorObj;
279
280#define GLU_TESS_MAX_COORD 1.0e150
281
282/* Internal convenience typedefs */
283typedef void (GLAPIENTRYP _GLUfuncptr)();
284
285GLAPI void GLAPIENTRY gluBeginCurve (GLUnurbs* nurb);
286GLAPI void GLAPIENTRY gluBeginPolygon (GLUtesselator* tess);
287GLAPI void GLAPIENTRY gluBeginSurface (GLUnurbs* nurb);
288GLAPI void GLAPIENTRY gluBeginTrim (GLUnurbs* nurb);
289GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
290GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
291GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
292GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
293GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
294GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
295GLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString);
296GLAPI void GLAPIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
297GLAPI void GLAPIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb);
298GLAPI void GLAPIENTRY gluDeleteQuadric (GLUquadric* quad);
299GLAPI void GLAPIENTRY gluDeleteTess (GLUtesselator* tess);
300GLAPI void GLAPIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
301GLAPI void GLAPIENTRY gluEndCurve (GLUnurbs* nurb);
302GLAPI void GLAPIENTRY gluEndPolygon (GLUtesselator* tess);
303GLAPI void GLAPIENTRY gluEndSurface (GLUnurbs* nurb);
304GLAPI void GLAPIENTRY gluEndTrim (GLUnurbs* nurb);
305GLAPI const GLubyte * GLAPIENTRY gluErrorString (GLenum error);
306GLAPI void GLAPIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
307GLAPI const GLubyte * GLAPIENTRY gluGetString (GLenum name);
308GLAPI void GLAPIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
309GLAPI void GLAPIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
310GLAPI void GLAPIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
311GLAPI GLUnurbs* GLAPIENTRY gluNewNurbsRenderer (void);
312GLAPI GLUquadric* GLAPIENTRY gluNewQuadric (void);
313GLAPI GLUtesselator* GLAPIENTRY gluNewTess (void);
314GLAPI void GLAPIENTRY gluNextContour (GLUtesselator* tess, GLenum type);
315GLAPI void GLAPIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
316GLAPI void GLAPIENTRY gluNurbsCallbackData (GLUnurbs* nurb, GLvoid* userData);
317GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
318GLAPI void GLAPIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
319GLAPI void GLAPIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
320GLAPI void GLAPIENTRY gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type);
321GLAPI void GLAPIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
322GLAPI void GLAPIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
323GLAPI void GLAPIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
324GLAPI void GLAPIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
325GLAPI GLint GLAPIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
326GLAPI void GLAPIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
327GLAPI void GLAPIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
328GLAPI void GLAPIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
329GLAPI void GLAPIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal);
330GLAPI void GLAPIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
331GLAPI void GLAPIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture);
332GLAPI GLint GLAPIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
333GLAPI void GLAPIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
334GLAPI void GLAPIENTRY gluTessBeginContour (GLUtesselator* tess);
335GLAPI void GLAPIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
336GLAPI void GLAPIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
337GLAPI void GLAPIENTRY gluTessEndContour (GLUtesselator* tess);
338GLAPI void GLAPIENTRY gluTessEndPolygon (GLUtesselator* tess);
339GLAPI void GLAPIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
340GLAPI void GLAPIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
341GLAPI void GLAPIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
342GLAPI GLint GLAPIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
343GLAPI GLint GLAPIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
344
345#ifdef __cplusplus
346}
347#endif
348
349#endif /* __glu_h__ */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette