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