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