opengl32/lib.rs
1// Copyright © 2015, Peter Atashian
2// Licensed under the MIT License <LICENSE.md>
3//! FFI bindings to opengl32.
4#![cfg(all(windows, any(target_arch = "x86", target_arch = "x86_64")))]
5extern crate winapi;
6use winapi::*;
7extern "system" {
8 // pub fn GlmfBeginGlsBlock();
9 // pub fn GlmfCloseMetaFile();
10 // pub fn GlmfEndGlsBlock();
11 // pub fn GlmfEndPlayback();
12 // pub fn GlmfInitPlayback();
13 // pub fn GlmfPlayGlsRecord();
14 pub fn glAccum(op: GLenum, value: GLfloat);
15 pub fn glAlphaFunc(func: GLenum, reference: GLclampf);
16 // pub fn glAreTexturesResident();
17 // pub fn glArrayElement();
18 // pub fn glBegin();
19 // pub fn glBindTexture();
20 // pub fn glBitmap();
21 // pub fn glBlendFunc();
22 // pub fn glCallList();
23 // pub fn glCallLists();
24 // pub fn glClear();
25 // pub fn glClearAccum();
26 // pub fn glClearColor();
27 // pub fn glClearDepth();
28 // pub fn glClearIndex();
29 // pub fn glClearStencil();
30 // pub fn glClipPlane();
31 // pub fn glColor3b();
32 // pub fn glColor3bv();
33 // pub fn glColor3d();
34 // pub fn glColor3dv();
35 // pub fn glColor3f();
36 // pub fn glColor3fv();
37 // pub fn glColor3i();
38 // pub fn glColor3iv();
39 // pub fn glColor3s();
40 // pub fn glColor3sv();
41 // pub fn glColor3ub();
42 // pub fn glColor3ubv();
43 // pub fn glColor3ui();
44 // pub fn glColor3uiv();
45 // pub fn glColor3us();
46 // pub fn glColor3usv();
47 // pub fn glColor4b();
48 // pub fn glColor4bv();
49 // pub fn glColor4d();
50 // pub fn glColor4dv();
51 // pub fn glColor4f();
52 // pub fn glColor4fv();
53 // pub fn glColor4i();
54 // pub fn glColor4iv();
55 // pub fn glColor4s();
56 // pub fn glColor4sv();
57 // pub fn glColor4ub();
58 // pub fn glColor4ubv();
59 // pub fn glColor4ui();
60 // pub fn glColor4uiv();
61 // pub fn glColor4us();
62 // pub fn glColor4usv();
63 // pub fn glColorMask();
64 // pub fn glColorMaterial();
65 // pub fn glColorPointer();
66 // pub fn glCopyPixels();
67 // pub fn glCopyTexImage1D();
68 // pub fn glCopyTexImage2D();
69 // pub fn glCopyTexSubImage1D();
70 // pub fn glCopyTexSubImage2D();
71 // pub fn glCullFace();
72 // pub fn glDebugEntry();
73 // pub fn glDeleteLists();
74 // pub fn glDeleteTextures();
75 // pub fn glDepthFunc();
76 // pub fn glDepthMask();
77 // pub fn glDepthRange();
78 // pub fn glDisable();
79 // pub fn glDisableClientState();
80 // pub fn glDrawArrays();
81 // pub fn glDrawBuffer();
82 // pub fn glDrawElements();
83 // pub fn glDrawPixels();
84 // pub fn glEdgeFlag();
85 // pub fn glEdgeFlagPointer();
86 // pub fn glEdgeFlagv();
87 // pub fn glEnable();
88 // pub fn glEnableClientState();
89 // pub fn glEnd();
90 // pub fn glEndList();
91 // pub fn glEvalCoord1d();
92 // pub fn glEvalCoord1dv();
93 // pub fn glEvalCoord1f();
94 // pub fn glEvalCoord1fv();
95 // pub fn glEvalCoord2d();
96 // pub fn glEvalCoord2dv();
97 // pub fn glEvalCoord2f();
98 // pub fn glEvalCoord2fv();
99 // pub fn glEvalMesh1();
100 // pub fn glEvalMesh2();
101 // pub fn glEvalPoint1();
102 // pub fn glEvalPoint2();
103 // pub fn glFeedbackBuffer();
104 // pub fn glFinish();
105 // pub fn glFlush();
106 // pub fn glFogf();
107 // pub fn glFogfv();
108 // pub fn glFogi();
109 // pub fn glFogiv();
110 // pub fn glFrontFace();
111 // pub fn glFrustum();
112 // pub fn glGenLists();
113 // pub fn glGenTextures();
114 // pub fn glGetBooleanv();
115 // pub fn glGetClipPlane();
116 // pub fn glGetDoublev();
117 // pub fn glGetError();
118 // pub fn glGetFloatv();
119 // pub fn glGetIntegerv();
120 // pub fn glGetLightfv();
121 // pub fn glGetLightiv();
122 // pub fn glGetMapdv();
123 // pub fn glGetMapfv();
124 // pub fn glGetMapiv();
125 // pub fn glGetMaterialfv();
126 // pub fn glGetMaterialiv();
127 // pub fn glGetPixelMapfv();
128 // pub fn glGetPixelMapuiv();
129 // pub fn glGetPixelMapusv();
130 // pub fn glGetPointerv();
131 // pub fn glGetPolygonStipple();
132 // pub fn glGetString();
133 // pub fn glGetTexEnvfv();
134 // pub fn glGetTexEnviv();
135 // pub fn glGetTexGendv();
136 // pub fn glGetTexGenfv();
137 // pub fn glGetTexGeniv();
138 // pub fn glGetTexImage();
139 // pub fn glGetTexLevelParameterfv();
140 // pub fn glGetTexLevelParameteriv();
141 // pub fn glGetTexParameterfv();
142 // pub fn glGetTexParameteriv();
143 // pub fn glHint();
144 // pub fn glIndexMask();
145 // pub fn glIndexPointer();
146 // pub fn glIndexd();
147 // pub fn glIndexdv();
148 // pub fn glIndexf();
149 // pub fn glIndexfv();
150 // pub fn glIndexi();
151 // pub fn glIndexiv();
152 // pub fn glIndexs();
153 // pub fn glIndexsv();
154 // pub fn glIndexub();
155 // pub fn glIndexubv();
156 // pub fn glInitNames();
157 // pub fn glInterleavedArrays();
158 // pub fn glIsEnabled();
159 // pub fn glIsList();
160 // pub fn glIsTexture();
161 // pub fn glLightModelf();
162 // pub fn glLightModelfv();
163 // pub fn glLightModeli();
164 // pub fn glLightModeliv();
165 // pub fn glLightf();
166 // pub fn glLightfv();
167 // pub fn glLighti();
168 // pub fn glLightiv();
169 // pub fn glLineStipple();
170 // pub fn glLineWidth();
171 // pub fn glListBase();
172 // pub fn glLoadIdentity();
173 // pub fn glLoadMatrixd();
174 // pub fn glLoadMatrixf();
175 // pub fn glLoadName();
176 // pub fn glLogicOp();
177 // pub fn glMap1d();
178 // pub fn glMap1f();
179 // pub fn glMap2d();
180 // pub fn glMap2f();
181 // pub fn glMapGrid1d();
182 // pub fn glMapGrid1f();
183 // pub fn glMapGrid2d();
184 // pub fn glMapGrid2f();
185 // pub fn glMaterialf();
186 // pub fn glMaterialfv();
187 // pub fn glMateriali();
188 // pub fn glMaterialiv();
189 // pub fn glMatrixMode();
190 // pub fn glMultMatrixd();
191 // pub fn glMultMatrixf();
192 // pub fn glNewList();
193 // pub fn glNormal3b();
194 // pub fn glNormal3bv();
195 // pub fn glNormal3d();
196 // pub fn glNormal3dv();
197 // pub fn glNormal3f();
198 // pub fn glNormal3fv();
199 // pub fn glNormal3i();
200 // pub fn glNormal3iv();
201 // pub fn glNormal3s();
202 // pub fn glNormal3sv();
203 // pub fn glNormalPointer();
204 // pub fn glOrtho();
205 // pub fn glPassThrough();
206 // pub fn glPixelMapfv();
207 // pub fn glPixelMapuiv();
208 // pub fn glPixelMapusv();
209 // pub fn glPixelStoref();
210 // pub fn glPixelStorei();
211 // pub fn glPixelTransferf();
212 // pub fn glPixelTransferi();
213 // pub fn glPixelZoom();
214 // pub fn glPointSize();
215 // pub fn glPolygonMode();
216 // pub fn glPolygonOffset();
217 // pub fn glPolygonStipple();
218 // pub fn glPopAttrib();
219 // pub fn glPopClientAttrib();
220 // pub fn glPopMatrix();
221 // pub fn glPopName();
222 // pub fn glPrioritizeTextures();
223 // pub fn glPushAttrib();
224 // pub fn glPushClientAttrib();
225 // pub fn glPushMatrix();
226 // pub fn glPushName();
227 // pub fn glRasterPos2d();
228 // pub fn glRasterPos2dv();
229 // pub fn glRasterPos2f();
230 // pub fn glRasterPos2fv();
231 // pub fn glRasterPos2i();
232 // pub fn glRasterPos2iv();
233 // pub fn glRasterPos2s();
234 // pub fn glRasterPos2sv();
235 // pub fn glRasterPos3d();
236 // pub fn glRasterPos3dv();
237 // pub fn glRasterPos3f();
238 // pub fn glRasterPos3fv();
239 // pub fn glRasterPos3i();
240 // pub fn glRasterPos3iv();
241 // pub fn glRasterPos3s();
242 // pub fn glRasterPos3sv();
243 // pub fn glRasterPos4d();
244 // pub fn glRasterPos4dv();
245 // pub fn glRasterPos4f();
246 // pub fn glRasterPos4fv();
247 // pub fn glRasterPos4i();
248 // pub fn glRasterPos4iv();
249 // pub fn glRasterPos4s();
250 // pub fn glRasterPos4sv();
251 // pub fn glReadBuffer();
252 // pub fn glReadPixels();
253 // pub fn glRectd();
254 // pub fn glRectdv();
255 // pub fn glRectf();
256 // pub fn glRectfv();
257 // pub fn glRecti();
258 // pub fn glRectiv();
259 // pub fn glRects();
260 // pub fn glRectsv();
261 // pub fn glRenderMode();
262 // pub fn glRotated();
263 // pub fn glRotatef();
264 // pub fn glScaled();
265 // pub fn glScalef();
266 // pub fn glScissor();
267 // pub fn glSelectBuffer();
268 // pub fn glShadeModel();
269 // pub fn glStencilFunc();
270 // pub fn glStencilMask();
271 // pub fn glStencilOp();
272 // pub fn glTexCoord1d();
273 // pub fn glTexCoord1dv();
274 // pub fn glTexCoord1f();
275 // pub fn glTexCoord1fv();
276 // pub fn glTexCoord1i();
277 // pub fn glTexCoord1iv();
278 // pub fn glTexCoord1s();
279 // pub fn glTexCoord1sv();
280 // pub fn glTexCoord2d();
281 // pub fn glTexCoord2dv();
282 // pub fn glTexCoord2f();
283 // pub fn glTexCoord2fv();
284 // pub fn glTexCoord2i();
285 // pub fn glTexCoord2iv();
286 // pub fn glTexCoord2s();
287 // pub fn glTexCoord2sv();
288 // pub fn glTexCoord3d();
289 // pub fn glTexCoord3dv();
290 // pub fn glTexCoord3f();
291 // pub fn glTexCoord3fv();
292 // pub fn glTexCoord3i();
293 // pub fn glTexCoord3iv();
294 // pub fn glTexCoord3s();
295 // pub fn glTexCoord3sv();
296 // pub fn glTexCoord4d();
297 // pub fn glTexCoord4dv();
298 // pub fn glTexCoord4f();
299 // pub fn glTexCoord4fv();
300 // pub fn glTexCoord4i();
301 // pub fn glTexCoord4iv();
302 // pub fn glTexCoord4s();
303 // pub fn glTexCoord4sv();
304 // pub fn glTexCoordPointer();
305 // pub fn glTexEnvf();
306 // pub fn glTexEnvfv();
307 // pub fn glTexEnvi();
308 // pub fn glTexEnviv();
309 // pub fn glTexGend();
310 // pub fn glTexGendv();
311 // pub fn glTexGenf();
312 // pub fn glTexGenfv();
313 // pub fn glTexGeni();
314 // pub fn glTexGeniv();
315 // pub fn glTexImage1D();
316 // pub fn glTexImage2D();
317 // pub fn glTexParameterf();
318 // pub fn glTexParameterfv();
319 // pub fn glTexParameteri();
320 // pub fn glTexParameteriv();
321 // pub fn glTexSubImage1D();
322 // pub fn glTexSubImage2D();
323 // pub fn glTranslated();
324 // pub fn glTranslatef();
325 // pub fn glVertex2d();
326 // pub fn glVertex2dv();
327 // pub fn glVertex2f();
328 // pub fn glVertex2fv();
329 // pub fn glVertex2i();
330 // pub fn glVertex2iv();
331 // pub fn glVertex2s();
332 // pub fn glVertex2sv();
333 // pub fn glVertex3d();
334 // pub fn glVertex3dv();
335 // pub fn glVertex3f();
336 // pub fn glVertex3fv();
337 // pub fn glVertex3i();
338 // pub fn glVertex3iv();
339 // pub fn glVertex3s();
340 // pub fn glVertex3sv();
341 // pub fn glVertex4d();
342 // pub fn glVertex4dv();
343 // pub fn glVertex4f();
344 // pub fn glVertex4fv();
345 // pub fn glVertex4i();
346 // pub fn glVertex4iv();
347 // pub fn glVertex4s();
348 // pub fn glVertex4sv();
349 // pub fn glVertexPointer();
350 // pub fn glViewport();
351 // pub fn wglChoosePixelFormat();
352 pub fn wglCopyContext(hglrcSrc: HGLRC, hglrcDst: HGLRC, mask: UINT) -> BOOL;
353 pub fn wglCreateContext(hdc: HDC) -> HGLRC;
354 pub fn wglCreateLayerContext(hdc: HDC, iLayerPlane: c_int) -> HGLRC;
355 pub fn wglDeleteContext(hglrc: HGLRC) -> BOOL;
356 pub fn wglDescribeLayerPlane(
357 hdc: HDC, iPixelFormat: c_int, iLayerPlane: c_int, nBytes: UINT,
358 plpd: LPLAYERPLANEDESCRIPTOR
359 ) -> BOOL;
360 // pub fn wglDescribePixelFormat();
361 pub fn wglGetCurrentContext() -> HGLRC;
362 pub fn wglGetCurrentDC() -> HDC;
363 // pub fn wglGetDefaultProcAddress();
364 pub fn wglGetLayerPaletteEntries(
365 hdc: HDC, iLayerPlane: c_int, iStart: c_int, cEntries: c_int, pcr: *const COLORREF
366 ) -> c_int;
367 // pub fn wglGetPixelFormat();
368 pub fn wglGetProcAddress(lpszProc: LPCSTR) -> PROC;
369 pub fn wglMakeCurrent(hdc: HDC, hglrc: HGLRC) -> BOOL;
370 pub fn wglRealizeLayerPalette(hdc: HDC, iLayerPlane: c_int, bRealize: BOOL) -> BOOL;
371 pub fn wglSetLayerPaletteEntries(
372 hdc: HDC, iLayerPlane: c_int, iStart: c_int, cEntries: c_int, pcr: *const COLORREF
373 ) -> c_int;
374 // pub fn wglSetPixelFormat();
375 pub fn wglShareLists(hglrc1: HGLRC, hglrc2: HGLRC) -> BOOL;
376 // pub fn wglSwapBuffers();
377 pub fn wglSwapLayerBuffers(hdc: HDC, fuPlanes: UINT) -> BOOL;
378 // pub fn wglSwapMultipleBuffers();
379 pub fn wglUseFontBitmapsA(hdc: HDC, first: DWORD, count: DWORD, listBase: DWORD) -> BOOL;
380 pub fn wglUseFontBitmapsW(hdc: HDC, first: DWORD, count: DWORD, listBase: DWORD) -> BOOL;
381 pub fn wglUseFontOutlinesA(
382 hdc: HDC, first: DWORD, count: DWORD, listBase: DWORD, deviation: FLOAT,
383 extrusion: FLOAT, format: c_int, lpgmf: LPGLYPHMETRICSFLOAT
384 ) -> BOOL;
385 pub fn wglUseFontOutlinesW(
386 hdc: HDC, first: DWORD, count: DWORD, listBase: DWORD, deviation: FLOAT,
387 extrusion: FLOAT, format: c_int, lpgmf: LPGLYPHMETRICSFLOAT
388 ) -> BOOL;
389}