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