1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license (the "Software") to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */
28 module derelict.opengl.glufuncs;
29 
30 private
31 {
32     import derelict.util.compat;
33     import derelict.opengl.gltypes;
34     import derelict.opengl.glutypes;
35 }
36 
37 extern(System)
38 {
39 	alias void function(GLUnurbs*) da_gluBeginCurve;
40 	alias void function(GLUtesselator*) da_gluBeginPolygon;
41 	alias void function(GLUnurbs*) da_gluBeginSurface;
42 	alias void function(GLUnurbs*) da_gluBeginTrim;
43 	alias GLint function(GLenum,GLint,GLsizei,GLenum,GLenum,in void*) da_gluBuild1DMipmaps;
44 	alias GLint function(GLenum,GLint,GLsizei,GLsizei,GLenum,GLenum,in void*) da_gluBuild2DMipmaps;
45 	alias void function(GLUquadric*,GLdouble,GLdouble,GLdouble,GLint,GLint) da_gluCylinder;
46 	alias void function(GLUnurbs*) da_gluDeleteNurbsRenderer;
47 	alias void function(GLUquadric*) da_gluDeleteQuadric;
48 	alias void function(GLUtesselator*) da_gluDeleteTess;
49 	alias void function(GLUquadric*,GLdouble,GLdouble,GLint,GLint) da_gluDisk;
50 	alias void function(GLUnurbs*) da_gluEndCurve;
51 	alias void function(GLUtesselator*) da_gluEndPolygon;
52 	alias void function(GLUnurbs*) da_gluEndSurface;
53 	alias void function(GLUnurbs*) da_gluEndTrim;
54 	alias CCPTR function(GLenum) da_gluErrorString;
55 	// wchar* function(GLenum) gluErrorUnicodeStringEXT;
56 	alias void function(GLUnurbs*,GLenum,GLfloat*) da_gluGetNurbsProperty;
57 	alias CCPTR function(GLenum) da_gluGetString;
58 	alias void function(GLUtesselator*,GLenum,GLdouble*) da_gluGetTessProperty;
59 	alias void function(GLUnurbs*,in GLfloat*,in GLfloat*,in GLint*) da_gluLoadSamplingMatrices;
60 	alias void function(GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble) da_gluLookAt;
61 	alias GLUnurbs* function() da_gluNewNurbsRenderer;
62 	alias GLUquadric* function() da_gluNewQuadric;
63 	alias GLUtesselator* function() da_gluNewTess;
64 	alias void function(GLUtesselator*,GLenum) da_gluNextContour;
65 	alias void function(GLUnurbs*,GLenum,_GLUfuncptr) da_gluNurbsCallback;
66 	alias void function(GLUnurbs*,GLint,GLfloat*,GLint,GLfloat*,GLint,GLenum) da_gluNurbsCurve;
67 	alias void function(GLUnurbs*,GLenum,GLfloat) da_gluNurbsProperty;
68 	alias void function(GLUnurbs*,GLint,GLfloat*,GLint,GLfloat*,GLint,GLint,GLfloat*,GLint,GLint,GLenum) da_gluNurbsSurface;
69 	alias void function(GLdouble,GLdouble,GLdouble,GLdouble) da_gluOrtho2D;
70 	alias void function(GLUquadric*,GLdouble,GLdouble,GLint,GLint,GLdouble,GLdouble) da_gluPartialDisk;
71 	alias void function(GLdouble,GLdouble,GLdouble,GLdouble) da_gluPerspective;
72 	alias void function(GLdouble,GLdouble,GLdouble,GLdouble,GLint*) da_gluPickMatrix;
73 	alias GLint function(GLdouble,GLdouble,GLdouble,in GLdouble*,in GLdouble*,in GLint*,GLdouble*,GLdouble*,GLdouble*) da_gluProject;
74 	alias void function(GLUnurbs*,GLint,GLfloat*,GLint,GLenum) da_gluPwlCurve;
75 	alias void function(GLUquadric*,GLenum,_GLUfuncptr) da_gluQuadricCallback;
76 	alias void function(GLUquadric*,GLenum) da_gluQuadricDrawStyle;
77 	alias void function(GLUquadric*,GLenum) da_gluQuadricNormals;
78 	alias void function(GLUquadric*,GLenum) da_gluQuadricOrientation;
79 	alias void function(GLUquadric*,GLboolean) da_gluQuadricTexture;
80 	alias GLint function(GLenum,GLsizei,GLsizei,GLenum,in void*,GLsizei,GLsizei,GLenum,GLvoid*) da_gluScaleImage;
81 	alias void function(GLUquadric*,GLdouble,GLint,GLint) da_gluSphere;
82 	alias void function(GLUtesselator*) da_gluTessBeginContour;
83 	alias void function(GLUtesselator*,GLvoid*) da_gluTessBeginPolygon;
84 	alias void function(GLUtesselator*,GLenum,_GLUfuncptr) da_gluTessCallback;
85 	alias void function(GLUtesselator*) da_gluTessEndContour;
86 	alias void function(GLUtesselator*) da_gluTessEndPolygon;
87 	alias void function(GLUtesselator*,GLdouble,GLdouble,GLdouble) da_gluTessNormal;
88 	alias void function(GLUtesselator*,GLenum,GLdouble) da_gluTessProperty;
89 	alias void function(GLUtesselator*,GLdouble*,GLvoid*) da_gluTessVertex;
90 	alias GLint function(GLdouble,GLdouble,GLdouble,in GLdouble*,in GLdouble*,in GLint*,GLdouble*,GLdouble*,GLdouble*) da_gluUnProject;   
91 }
92 
93 mixin(gsharedString!() ~
94 "
95 da_gluBeginCurve gluBeginCurve;
96 da_gluBeginPolygon gluBeginPolygon;
97 da_gluBeginSurface gluBeginSurface;
98 da_gluBeginTrim gluBeginTrim;
99 da_gluBuild1DMipmaps gluBuild1DMipmaps;
100 da_gluBuild2DMipmaps gluBuild2DMipmaps;
101 da_gluCylinder gluCylinder;
102 da_gluDeleteNurbsRenderer gluDeleteNurbsRenderer;
103 da_gluDeleteQuadric gluDeleteQuadric;
104 da_gluDeleteTess gluDeleteTess;
105 da_gluDisk gluDisk;
106 da_gluEndCurve gluEndCurve;
107 da_gluEndPolygon gluEndPolygon;
108 da_gluEndSurface gluEndSurface;
109 da_gluEndTrim gluEndTrim;
110 da_gluErrorString gluErrorString;
111 // wchar* function(GLenum) gluErrorUnicodeStringEXT;
112 da_gluGetNurbsProperty gluGetNurbsProperty;
113 da_gluGetString gluGetString;
114 da_gluGetTessProperty gluGetTessProperty;
115 da_gluLoadSamplingMatrices gluLoadSamplingMatrices;
116 da_gluLookAt gluLookAt;
117 da_gluNewNurbsRenderer gluNewNurbsRenderer;
118 da_gluNewQuadric gluNewQuadric;
119 da_gluNewTess gluNewTess;
120 da_gluNextContour gluNextContour;
121 da_gluNurbsCallback gluNurbsCallback;
122 da_gluNurbsCurve gluNurbsCurve;
123 da_gluNurbsProperty gluNurbsProperty;
124 da_gluNurbsSurface gluNurbsSurface;
125 da_gluOrtho2D gluOrtho2D;
126 da_gluPartialDisk gluPartialDisk;
127 da_gluPerspective gluPerspective;
128 da_gluPickMatrix gluPickMatrix;
129 da_gluProject gluProject;
130 da_gluPwlCurve gluPwlCurve;
131 da_gluQuadricCallback gluQuadricCallback;
132 da_gluQuadricDrawStyle gluQuadricDrawStyle;
133 da_gluQuadricNormals gluQuadricNormals;
134 da_gluQuadricOrientation gluQuadricOrientation;
135 da_gluQuadricTexture gluQuadricTexture;
136 da_gluScaleImage gluScaleImage;
137 da_gluSphere gluSphere;
138 da_gluTessBeginContour gluTessBeginContour;
139 da_gluTessBeginPolygon gluTessBeginPolygon;
140 da_gluTessCallback gluTessCallback;
141 da_gluTessEndContour gluTessEndContour;
142 da_gluTessEndPolygon gluTessEndPolygon;
143 da_gluTessNormal gluTessNormal;
144 da_gluTessProperty gluTessProperty;
145 da_gluTessVertex gluTessVertex;
146 da_gluUnProject gluUnProject;
147 ");