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