1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110,  USA
18  */
19  
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gtkglc.glu;
26 
27 /*
28 ** License Applicability. Except to the extent portions of this file are
29 ** made subject to an alternative license as permitted in the SGI Free
30 ** Software License B, Version 1.1 (the "License"), the contents of this
31 ** file are subject only to the provisions of the License. You may not use
32 ** this file except in compliance with the License. You may obtain a copy
33 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
34 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
35 ** 
36 ** http://oss.sgi.com/projects/FreeB
37 ** 
38 ** Note that, as provided in the License, the Software is distributed on an
39 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
40 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
41 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
42 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
43 ** 
44 ** Original Code. The Original Code is: OpenGL Sample Implementation,
45 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
46 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
47 ** Copyright in any portions created by third parties is as indicated
48 ** elsewhere herein. All Rights Reserved.
49 ** 
50 ** Additional Notice Provisions: This software was created using the
51 ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
52 ** not been independently verified as being compliant with the OpenGL(R)
53 ** version 1.2.1 Specification.
54 */
55 
56 //#ifndef __glu_h__
57 //#define __glu_h__
58 //
59 //#if defined(USE_MGL_NAMESPACE)
60 //#include "glu_mangle.h"
61 //#endif
62 //
63 import gtkglc.gl;
64 
65 
66 
67 
68 /*************************************************************/
69 
70 /* Extensions */
71 const GLU_EXT_object_space_tess = 1;
72 
73 const GLU_EXT_nurbs_tessellator = 1;
74 /* Boolean */
75 const GLU_FALSE = 0;
76 
77 const GLU_TRUE = 1;
78 /* Version */
79 const GLU_VERSION_1_1 = 1;
80 const GLU_VERSION_1_2 = 1;
81 
82 const GLU_VERSION_1_3 = 1;
83 /* StringName */
84 const GLU_VERSION = 100800;
85 
86 const GLU_EXTENSIONS = 100801;
87 /* ErrorCode */
88 const GLU_INVALID_ENUM = 100900;
89 const GLU_INVALID_VALUE = 100901;
90 const GLU_OUT_OF_MEMORY = 100902;
91 const GLU_INCOMPATIBLE_GL_VERSION = 100903;
92 
93 const GLU_INVALID_OPERATION = 100904;
94 /* NurbsDisplay */
95 /*      GLU_FILL */
96 const GLU_OUTLINE_POLYGON = 100240;
97 
98 const GLU_OUTLINE_PATCH = 100241;
99 /* NurbsCallback */
100 const GLU_NURBS_ERROR = 100103;
101 const GLU_ERROR = 100103;
102 const GLU_NURBS_BEGIN = 100164;
103 const GLU_NURBS_BEGIN_EXT = 100164;
104 const GLU_NURBS_VERTEX = 100165;
105 const GLU_NURBS_VERTEX_EXT = 100165;
106 const GLU_NURBS_NORMAL = 100166;
107 const GLU_NURBS_NORMAL_EXT = 100166;
108 const GLU_NURBS_COLOR = 100167;
109 const GLU_NURBS_COLOR_EXT = 100167;
110 const GLU_NURBS_TEXTURE_COORD = 100168;
111 const GLU_NURBS_TEX_COORD_EXT = 100168;
112 const GLU_NURBS_END = 100169;
113 const GLU_NURBS_END_EXT = 100169;
114 const GLU_NURBS_BEGIN_DATA = 100170;
115 const GLU_NURBS_BEGIN_DATA_EXT = 100170;
116 const GLU_NURBS_VERTEX_DATA = 100171;
117 const GLU_NURBS_VERTEX_DATA_EXT = 100171;
118 const GLU_NURBS_NORMAL_DATA = 100172;
119 const GLU_NURBS_NORMAL_DATA_EXT = 100172;
120 const GLU_NURBS_COLOR_DATA = 100173;
121 const GLU_NURBS_COLOR_DATA_EXT = 100173;
122 const GLU_NURBS_TEXTURE_COORD_DATA = 100174;
123 const GLU_NURBS_TEX_COORD_DATA_EXT = 100174;
124 const GLU_NURBS_END_DATA = 100175;
125 
126 const GLU_NURBS_END_DATA_EXT = 100175;
127 /* NurbsError */
128 const GLU_NURBS_ERROR1 = 100251;
129 const GLU_NURBS_ERROR2 = 100252;
130 const GLU_NURBS_ERROR3 = 100253;
131 const GLU_NURBS_ERROR4 = 100254;
132 const GLU_NURBS_ERROR5 = 100255;
133 const GLU_NURBS_ERROR6 = 100256;
134 const GLU_NURBS_ERROR7 = 100257;
135 const GLU_NURBS_ERROR8 = 100258;
136 const GLU_NURBS_ERROR9 = 100259;
137 const GLU_NURBS_ERROR10 = 100260;
138 const GLU_NURBS_ERROR11 = 100261;
139 const GLU_NURBS_ERROR12 = 100262;
140 const GLU_NURBS_ERROR13 = 100263;
141 const GLU_NURBS_ERROR14 = 100264;
142 const GLU_NURBS_ERROR15 = 100265;
143 const GLU_NURBS_ERROR16 = 100266;
144 const GLU_NURBS_ERROR17 = 100267;
145 const GLU_NURBS_ERROR18 = 100268;
146 const GLU_NURBS_ERROR19 = 100269;
147 const GLU_NURBS_ERROR20 = 100270;
148 const GLU_NURBS_ERROR21 = 100271;
149 const GLU_NURBS_ERROR22 = 100272;
150 const GLU_NURBS_ERROR23 = 100273;
151 const GLU_NURBS_ERROR24 = 100274;
152 const GLU_NURBS_ERROR25 = 100275;
153 const GLU_NURBS_ERROR26 = 100276;
154 const GLU_NURBS_ERROR27 = 100277;
155 const GLU_NURBS_ERROR28 = 100278;
156 const GLU_NURBS_ERROR29 = 100279;
157 const GLU_NURBS_ERROR30 = 100280;
158 const GLU_NURBS_ERROR31 = 100281;
159 const GLU_NURBS_ERROR32 = 100282;
160 const GLU_NURBS_ERROR33 = 100283;
161 const GLU_NURBS_ERROR34 = 100284;
162 const GLU_NURBS_ERROR35 = 100285;
163 const GLU_NURBS_ERROR36 = 100286;
164 
165 const GLU_NURBS_ERROR37 = 100287;
166 /* NurbsProperty */
167 const GLU_AUTO_LOAD_MATRIX = 100200;
168 const GLU_CULLING = 100201;
169 const GLU_SAMPLING_TOLERANCE = 100203;
170 const GLU_DISPLAY_MODE = 100204;
171 const GLU_PARAMETRIC_TOLERANCE = 100202;
172 const GLU_SAMPLING_METHOD = 100205;
173 const GLU_U_STEP = 100206;
174 const GLU_V_STEP = 100207;
175 const GLU_NURBS_MODE = 100160;
176 const GLU_NURBS_MODE_EXT = 100160;
177 const GLU_NURBS_TESSELLATOR = 100161;
178 const GLU_NURBS_TESSELLATOR_EXT = 100161;
179 const GLU_NURBS_RENDERER = 100162;
180 
181 const GLU_NURBS_RENDERER_EXT = 100162;
182 /* NurbsSampling */
183 const GLU_OBJECT_PARAMETRIC_ERROR = 100208;
184 const GLU_OBJECT_PARAMETRIC_ERROR_EXT = 100208;
185 const GLU_OBJECT_PATH_LENGTH = 100209;
186 const GLU_OBJECT_PATH_LENGTH_EXT = 100209;
187 const GLU_PATH_LENGTH = 100215;
188 const GLU_PARAMETRIC_ERROR = 100216;
189 
190 const GLU_DOMAIN_DISTANCE = 100217;
191 /* NurbsTrim */
192 const GLU_MAP1_TRIM_2 = 100210;
193 
194 const GLU_MAP1_TRIM_3 = 100211;
195 /* QuadricDrawStyle */
196 const GLU_POINT = 100010;
197 const GLU_LINE = 100011;
198 const GLU_FILL = 100012;
199 
200 const GLU_SILHOUETTE = 100013;
201 /* QuadricCallback */
202 /*      GLU_ERROR */
203 
204 /* QuadricNormal */
205 const GLU_SMOOTH = 100000;
206 const GLU_FLAT = 100001;
207 
208 const GLU_NONE = 100002;
209 /* QuadricOrientation */
210 const GLU_OUTSIDE = 100020;
211 
212 const GLU_INSIDE = 100021;
213 /* TessCallback */
214 const GLU_TESS_BEGIN = 100100;
215 const GLU_BEGIN = 100100;
216 const GLU_TESS_VERTEX = 100101;
217 const GLU_VERTEX = 100101;
218 const GLU_TESS_END = 100102;
219 const GLU_END = 100102;
220 const GLU_TESS_ERROR = 100103;
221 const GLU_TESS_EDGE_FLAG = 100104;
222 const GLU_EDGE_FLAG = 100104;
223 const GLU_TESS_COMBINE = 100105;
224 const GLU_TESS_BEGIN_DATA = 100106;
225 const GLU_TESS_VERTEX_DATA = 100107;
226 const GLU_TESS_END_DATA = 100108;
227 const GLU_TESS_ERROR_DATA = 100109;
228 const GLU_TESS_EDGE_FLAG_DATA = 100110;
229 
230 const GLU_TESS_COMBINE_DATA = 100111;
231 /* TessContour */
232 const GLU_CW = 100120;
233 const GLU_CCW = 100121;
234 const GLU_INTERIOR = 100122;
235 const GLU_EXTERIOR = 100123;
236 
237 const GLU_UNKNOWN = 100124;
238 /* TessProperty */
239 const GLU_TESS_WINDING_RULE = 100140;
240 const GLU_TESS_BOUNDARY_ONLY = 100141;
241 
242 const GLU_TESS_TOLERANCE = 100142;
243 /* TessError */
244 const GLU_TESS_ERROR1 = 100151;
245 const GLU_TESS_ERROR2 = 100152;
246 const GLU_TESS_ERROR3 = 100153;
247 const GLU_TESS_ERROR4 = 100154;
248 const GLU_TESS_ERROR5 = 100155;
249 const GLU_TESS_ERROR6 = 100156;
250 const GLU_TESS_ERROR7 = 100157;
251 const GLU_TESS_ERROR8 = 100158;
252 const GLU_TESS_MISSING_BEGIN_POLYGON = 100151;
253 const GLU_TESS_MISSING_BEGIN_CONTOUR = 100152;
254 const GLU_TESS_MISSING_END_POLYGON = 100153;
255 const GLU_TESS_MISSING_END_CONTOUR = 100154;
256 const GLU_TESS_COORD_TOO_LARGE = 100155;
257 
258 const GLU_TESS_NEED_COMBINE_CALLBACK = 100156;
259 /* TessWinding */
260 const GLU_TESS_WINDING_ODD = 100130;
261 const GLU_TESS_WINDING_NONZERO = 100131;
262 const GLU_TESS_WINDING_POSITIVE = 100132;
263 const GLU_TESS_WINDING_NEGATIVE = 100133;
264 
265 const GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
266 /*************************************************************/
267 
268 
269 //#ifdef __cplusplus
270 //class GLUnurbs;
271 //class GLUquadric;
272 //class GLUtesselator;
273 //#else
274 //#endif
275 
276 extern (C):
277 alias int GLUnurbs;
278 alias int GLUquadric;
279 alias int GLUtesselator;
280 alias GLUtesselator GLUtriangulatorObj;
281 
282 
283 const GLU_TESS_MAX_COORD = 1.0e150;
284 /* Internal convenience typedefs */
285 alias void  function()_GLUfuncptr;
286 
287 extern(System)
288 {
289 	void  gluBeginCurve(GLUnurbs *nurb);
290 	void  gluBeginPolygon(GLUtesselator *tess);
291 	void  gluBeginSurface(GLUnurbs *nurb);
292 	void  gluBeginTrim(GLUnurbs *nurb);
293 	GLint  gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *data);
294 	GLint  gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, void *data);
295 	GLint  gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *data);
296 	GLint  gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, void *data);
297 	GLint  gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, void *data);
298 	GLint  gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *data);
299 	GLboolean  gluCheckExtension(GLubyte *extName, GLubyte *extString);
300 	void  gluCylinder(GLUquadric *quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
301 	void  gluDeleteNurbsRenderer(GLUnurbs *nurb);
302 	void  gluDeleteQuadric(GLUquadric *quad);
303 	void  gluDeleteTess(GLUtesselator *tess);
304 	void  gluDisk(GLUquadric *quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
305 	void  gluEndCurve(GLUnurbs *nurb);
306 	void  gluEndPolygon(GLUtesselator *tess);
307 	void  gluEndSurface(GLUnurbs *nurb);
308 	void  gluEndTrim(GLUnurbs *nurb);
309 	GLubyte * gluErrorString(GLenum error);
310 	void  gluGetNurbsProperty(GLUnurbs *nurb, GLenum property, GLfloat *data);
311 	GLubyte * gluGetString(GLenum name);
312 	void  gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *data);
313 	void  gluLoadSamplingMatrices(GLUnurbs *nurb, GLfloat *model, GLfloat *perspective, GLint *view);
314 	void  gluLookAt(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
315 	GLUnurbs * gluNewNurbsRenderer();
316 	GLUquadric * gluNewQuadric();
317 	GLUtesselator * gluNewTess();
318 	void  gluNextContour(GLUtesselator *tess, GLenum type);
319 	void  gluNurbsCallback(GLUnurbs *nurb, GLenum which, _GLUfuncptr CallBackFunc);
320 	void  gluNurbsCallbackData(GLUnurbs *nurb, GLvoid *userData);
321 	void  gluNurbsCallbackDataEXT(GLUnurbs *nurb, GLvoid *userData);
322 	void  gluNurbsCurve(GLUnurbs *nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
323 	void  gluNurbsProperty(GLUnurbs *nurb, GLenum property, GLfloat value);
324 	void  gluNurbsSurface(GLUnurbs *nurb, GLint sKnotCount, GLfloat *sKnots, GLint tKnotCount, GLfloat *tKnots, GLint sStride, GLint tStride, GLfloat *control, GLint sOrder, GLint tOrder, GLenum type);
325 	void  gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
326 	void  gluPartialDisk(GLUquadric *quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
327 	void  gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
328 	void  gluPickMatrix(GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
329 	GLint  gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, GLdouble *model, GLdouble *proj, GLint *view, GLdouble *winX, GLdouble *winY, GLdouble *winZ);
330 	void  gluPwlCurve(GLUnurbs *nurb, GLint count, GLfloat *data, GLint stride, GLenum type);
331 	void  gluQuadricCallback(GLUquadric *quad, GLenum which, _GLUfuncptr CallBackFunc);
332 	void  gluQuadricDrawStyle(GLUquadric *quad, GLenum draw);
333 	void  gluQuadricNormals(GLUquadric *quad, GLenum normal);
334 	void  gluQuadricOrientation(GLUquadric *quad, GLenum orientation);
335 	void  gluQuadricTexture(GLUquadric *quad, GLboolean texture);
336 	GLint  gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid *dataOut);
337 	void  gluSphere(GLUquadric *quad, GLdouble radius, GLint slices, GLint stacks);
338 	void  gluTessBeginContour(GLUtesselator *tess);
339 	void  gluTessBeginPolygon(GLUtesselator *tess, GLvoid *data);
340 	void  gluTessCallback(GLUtesselator *tess, GLenum which, _GLUfuncptr CallBackFunc);
341 	void  gluTessEndContour(GLUtesselator *tess);
342 	void  gluTessEndPolygon(GLUtesselator *tess);
343 	void  gluTessNormal(GLUtesselator *tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
344 	void  gluTessProperty(GLUtesselator *tess, GLenum which, GLdouble data);
345 	void  gluTessVertex(GLUtesselator *tess, GLdouble *location, GLvoid *data);
346 	GLint  gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble *model, GLdouble *proj, GLint *view, GLdouble *objX, GLdouble *objY, GLdouble *objZ);
347 	GLint  gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, GLdouble *model, GLdouble *proj, GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble *objX, GLdouble *objY, GLdouble *objZ, GLdouble *objW);
348 } // extern(System)
349 
350