egedit: do not save cursor movement in undo -- this is my stupid habit, and it comple...
[iv.d.git] / _obsolete_dont_use / opengl / glu.d
blobc8d6bfdeed5a359fe26b775b8b7b9332da3cecd3
1 /*
2 Boost Software License - Version 1.0 - August 17th, 2003
4 Permission is hereby granted, free of charge, to any person or organization
5 obtaining a copy of the software and accompanying documentation covered by
6 this license (the "Software") to use, reproduce, display, distribute,
7 execute, and transmit the Software, and to prepare derivative works of the
8 Software, and to permit third-parties to whom the Software is furnished to
9 do so, all subject to the following:
11 The copyright notices in the Software and this entire statement, including
12 the above license grant, this restriction and the following disclaimer,
13 must be included in all copies of the Software, in whole or in part, and
14 all derivative works of the Software, unless such copies or derivative
15 works are solely in the form of machine-executable object code generated by
16 a source language processor.
18 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
21 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
22 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
23 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24 DEALINGS IN THE SOFTWARE.
26 module iv.opengl.glu;
27 pragma(lib, "GLU");
29 import iv.opengl.gl;
31 enum : GLenum {
32 GLU_FALSE = 0,
33 GLU_TRUE = 1,
34 GLU_VERSION = 100800,
35 GLU_EXTENSIONS = 100801,
36 GLU_INVALID_ENUM = 100900,
37 GLU_INVALID_VALUE = 100901,
38 GLU_OUT_OF_MEMORY = 100902,
39 GLU_INVALID_OPERATION = 100904,
40 GLU_OUTLINE_POLYGON = 100240,
41 GLU_OUTLINE_PATCH = 100241,
42 GLU_NURBS_ERROR = 100103,
43 GLU_ERROR = 100103,
44 GLU_NURBS_BEGIN = 100164,
45 GLU_NURBS_BEGIN_EXT = 100164,
46 GLU_NURBS_VERTEX = 100165,
47 GLU_NURBS_VERTEX_EXT = 100165,
48 GLU_NURBS_NORMAL = 100166,
49 GLU_NURBS_NORMAL_EXT = 100166,
50 GLU_NURBS_COLOR = 100167,
51 GLU_NURBS_COLOR_EXT = 100167,
52 GLU_NURBS_TEXTURE_COORD = 100168,
53 GLU_NURBS_TEX_COORD_EXT = 100168,
54 GLU_NURBS_END = 100169,
55 GLU_NURBS_END_EXT = 100169,
56 GLU_NURBS_BEGIN_DATA = 100170,
57 GLU_NURBS_BEGIN_DATA_EXT = 100170,
58 GLU_NURBS_VERTEX_DATA = 100171,
59 GLU_NURBS_VERTEX_DATA_EXT = 100171,
60 GLU_NURBS_NORMAL_DATA = 100172,
61 GLU_NURBS_NORMAL_DATA_EXT = 100172,
62 GLU_NURBS_COLOR_DATA = 100173,
63 GLU_NURBS_COLOR_DATA_EXT = 100173,
64 GLU_NURBS_TEXTURE_COORD_DATA = 100174,
65 GLU_NURBS_TEX_COORD_DATA_EXT = 100174,
66 GLU_NURBS_END_DATA = 100175,
67 GLU_NURBS_END_DATA_EXT = 100175,
68 GLU_NURBS_ERROR1 = 100251,
69 GLU_NURBS_ERROR2 = 100252,
70 GLU_NURBS_ERROR3 = 100253,
71 GLU_NURBS_ERROR4 = 100254,
72 GLU_NURBS_ERROR5 = 100255,
73 GLU_NURBS_ERROR6 = 100256,
74 GLU_NURBS_ERROR7 = 100257,
75 GLU_NURBS_ERROR8 = 100258,
76 GLU_NURBS_ERROR9 = 100259,
77 GLU_NURBS_ERROR10 = 100260,
78 GLU_NURBS_ERROR11 = 100261,
79 GLU_NURBS_ERROR12 = 100262,
80 GLU_NURBS_ERROR13 = 100263,
81 GLU_NURBS_ERROR14 = 100264,
82 GLU_NURBS_ERROR15 = 100265,
83 GLU_NURBS_ERROR16 = 100266,
84 GLU_NURBS_ERROR17 = 100267,
85 GLU_NURBS_ERROR18 = 100268,
86 GLU_NURBS_ERROR19 = 100269,
87 GLU_NURBS_ERROR20 = 100270,
88 GLU_NURBS_ERROR21 = 100271,
89 GLU_NURBS_ERROR22 = 100272,
90 GLU_NURBS_ERROR23 = 100273,
91 GLU_NURBS_ERROR24 = 100274,
92 GLU_NURBS_ERROR25 = 100275,
93 GLU_NURBS_ERROR26 = 100276,
94 GLU_NURBS_ERROR27 = 100277,
95 GLU_NURBS_ERROR28 = 100278,
96 GLU_NURBS_ERROR29 = 100279,
97 GLU_NURBS_ERROR30 = 100280,
98 GLU_NURBS_ERROR31 = 100281,
99 GLU_NURBS_ERROR32 = 100282,
100 GLU_NURBS_ERROR33 = 100283,
101 GLU_NURBS_ERROR34 = 100284,
102 GLU_NURBS_ERROR35 = 100285,
103 GLU_NURBS_ERROR36 = 100286,
104 GLU_NURBS_ERROR37 = 100287,
105 GLU_AUTO_LOAD_MATRIX = 100200,
106 GLU_CULLING = 100201,
107 GLU_SAMPLING_TOLERANCE = 100203,
108 GLU_DISPLAY_MODE = 100204,
109 GLU_PARAMETRIC_TOLERANCE = 100202,
110 GLU_SAMPLING_METHOD = 100205,
111 GLU_U_STEP = 100206,
112 GLU_V_STEP = 100207,
113 GLU_NURBS_MODE = 100160,
114 GLU_NURBS_MODE_EXT = 100160,
115 GLU_NURBS_TESSELLATOR = 100161,
116 GLU_NURBS_TESSELLATOR_EXT = 100161,
117 GLU_NURBS_RENDERER = 100162,
118 GLU_NURBS_RENDERER_EXT = 100162,
119 GLU_OBJECT_PARAMETRIC_ERROR = 100208,
120 GLU_OBJECT_PARAMETRIC_ERROR_EXT = 100208,
121 GLU_OBJECT_PATH_LENGTH = 100209,
122 GLU_OBJECT_PATH_LENGTH_EXT = 100209,
123 GLU_PATH_LENGTH = 100215,
124 GLU_PARAMETRIC_ERROR = 100216,
125 GLU_DOMAIN_DISTANCE = 100217,
126 GLU_MAP1_TRIM_2 = 100210,
127 GLU_MAP2_TRIM_3 = 100211,
128 GLU_POINT = 100010,
129 GLU_LINE = 100011,
130 GLU_FILL = 100012,
131 GLU_SILHOUETTE = 100013,
132 GLU_SMOOTH = 100000,
133 GLU_FLAT = 100001,
134 GLU_NONE = 100002,
135 GLU_OUTSIDE = 100020,
136 GLU_INSIDE = 100021,
137 GLU_TESS_BEGIN = 100100,
138 GLU_BEGIN = 100100,
139 GLU_TESS_VERTEX = 100101,
140 GLU_VERTEX = 100101,
141 GLU_TESS_END = 100102,
142 GLU_END = 100102,
143 GLU_TESS_ERROR = 100103,
144 GLU_TESS_EDGE_FLAG = 100104,
145 GLU_EDGE_FLAG = 100104,
146 GLU_TESS_COMBINE = 100105,
147 GLU_TESS_BEGIN_DATA = 100106,
148 GLU_TESS_VERTEX_DATA = 100107,
149 GLU_TESS_END_DATA = 100108,
150 GLU_TESS_ERROR_DATA = 100109,
151 GLU_TESS_EDGE_FLAG_DATA = 100110,
152 GLU_TESS_COMBINE_DATA = 100111,
153 GLU_CW = 100120,
154 GLU_CCW = 100121,
155 GLU_INTERIOR = 100122,
156 GLU_EXTERIOR = 100123,
157 GLU_UNKNOWN = 100124,
158 GLU_TESS_WINDING_RULE = 100140,
159 GLU_TESS_BOUNDARY_ONLY = 100141,
160 GLU_TESS_TOLERANCE = 100142,
161 GLU_TESS_ERROR1 = 100151,
162 GLU_TESS_ERROR2 = 100152,
163 GLU_TESS_ERROR3 = 100153,
164 GLU_TESS_ERROR4 = 100154,
165 GLU_TESS_ERROR5 = 100155,
166 GLU_TESS_ERROR6 = 100156,
167 GLU_TESS_ERROR7 = 100157,
168 GLU_TESS_ERROR8 = 100158,
169 GLU_TESS_MISSING_BEGIN_POLYGON = 100151,
170 GLU_TESS_MISSING_BEGIN_COUNTER = 100152,
171 GLU_TESS_MISSING_END_POLYGON = 100153,
172 GLU_TESS_MISSING_END_COUNTER = 100154,
173 GLU_TESS_COORD_TOO_LARGE = 100155,
174 GLU_TESS_NEED_COMBINE_CALLBACK = 100156,
175 GLU_TESS_WINDING_ODD = 100130,
176 GLU_TESS_WINDING_NONZERO = 100131,
177 GLU_TESS_WINDING_POSITIVE = 100132,
178 GLU_TESS_WINDING_NEGATIVE = 100133,
179 GLU_TESS_WINDING_ABS_GEQ_TWO = 100134,
182 enum double GLU_TESS_MAX_COORD = 1.0e150;
184 struct GLUnurbs {}
185 struct GLUquadric {}
186 struct GLUtesselator {}
188 alias GLUnurbs GLUnurbsObj;
189 alias GLUquadric GLUquadricObj;
190 alias GLUtesselator GLUtesselatorObj;
191 alias GLUtesselator GLUtriangulatorObj;
193 extern(C) alias void function () nothrow @nogc _GLUfuncptr;
196 extern(C) nothrow @nogc {
197 void gluBeginCurve (GLUnurbs*);
198 void gluBeginPolygon (GLUtesselator*);
199 void gluBeginSurface (GLUnurbs*);
200 void gluBeginTrim (GLUnurbs*);
201 GLint gluBuild1DMipmaps (GLenum, GLint, GLsizei, GLenum, GLenum, in void*);
202 GLint gluBuild2DMipmaps (GLenum, GLint, GLsizei, GLsizei, GLenum, GLenum, in void*);
203 void gluCylinder (GLUquadric*, GLdouble, GLdouble, GLdouble, GLint, GLint);
204 void gluDeleteNurbsRenderer (GLUnurbs*);
205 void gluDeleteQuadric (GLUquadric*);
206 void gluDeleteTess (GLUtesselator*);
207 void gluDisk (GLUquadric*, GLdouble, GLdouble, GLint, GLint);
208 void gluEndCurve (GLUnurbs*);
209 void gluEndPolygon (GLUtesselator*);
210 void gluEndSurface (GLUnurbs*);
211 void gluEndTrim (GLUnurbs*);
212 const(char)* gluErrorString (GLenum);
213 // wchar* function(GLenum) gluErrorUnicodeStringEXT;
214 void gluGetNurbsProperty (GLUnurbs*, GLenum, GLfloat*);
215 const(char)* gluGetString (GLenum);
216 void gluGetTessProperty (GLUtesselator*, GLenum, GLdouble*);
217 void gluLoadSamplingMatrices (GLUnurbs*, in GLfloat*, in GLfloat*, in GLint*);
218 void gluLookAt (GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
219 GLUnurbs* gluNewNurbsRenderer ();
220 GLUquadric* gluNewQuadric ();
221 GLUtesselator* gluNewTess ();
222 void gluNextContour (GLUtesselator*, GLenum);
223 void gluNurbsCallback (GLUnurbs*, GLenum, _GLUfuncptr);
224 void gluNurbsCurve (GLUnurbs*, GLint, GLfloat*, GLint, GLfloat*, GLint, GLenum);
225 void gluNurbsProperty (GLUnurbs*, GLenum, GLfloat);
226 void gluNurbsSurface (GLUnurbs*, GLint, GLfloat*, GLint, GLfloat*, GLint, GLint, GLfloat*, GLint, GLint, GLenum);
227 void gluOrtho2D (GLdouble, GLdouble, GLdouble, GLdouble);
228 void gluPartialDisk (GLUquadric*, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble);
229 void gluPerspective (GLdouble, GLdouble, GLdouble, GLdouble);
230 void gluPickMatrix (GLdouble, GLdouble, GLdouble, GLdouble, GLint*);
231 GLint gluProject (GLdouble, GLdouble, GLdouble, in GLdouble*, in GLdouble*, in GLint*, GLdouble*, GLdouble*, GLdouble*);
232 void gluPwlCurve (GLUnurbs*, GLint, GLfloat*, GLint, GLenum);
233 void gluQuadricCallback (GLUquadric*, GLenum, _GLUfuncptr);
234 void gluQuadricDrawStyle (GLUquadric*, GLenum);
235 void gluQuadricNormals (GLUquadric*, GLenum);
236 void gluQuadricOrientation (GLUquadric*, GLenum);
237 void gluQuadricTexture (GLUquadric*, GLboolean);
238 GLint gluScaleImage (GLenum, GLsizei, GLsizei, GLenum, in void*, GLsizei, GLsizei, GLenum, GLvoid*);
239 void gluSphere (GLUquadric*, GLdouble, GLint, GLint);
240 void gluTessBeginContour (GLUtesselator*);
241 void gluTessBeginPolygon (GLUtesselator*, GLvoid*);
242 void gluTessCallback (GLUtesselator*, GLenum, _GLUfuncptr);
243 void gluTessEndContour (GLUtesselator*);
244 void gluTessEndPolygon (GLUtesselator*);
245 void gluTessNormal (GLUtesselator*, GLdouble, GLdouble, GLdouble);
246 void gluTessProperty (GLUtesselator*, GLenum, GLdouble);
247 void gluTessVertex (GLUtesselator*, GLdouble*, GLvoid*);
248 GLint gluUnProject (GLdouble, GLdouble, GLdouble, in GLdouble*, in GLdouble*, in GLint*, GLdouble*, GLdouble*, GLdouble*);