Release 20030408.
[wine/gsoc-2012-control.git] / dlls / opengl32 / wgl.h
blob8960e142d5f5e738409430dbb0888d791d1dea83
1 /* Window-specific OpenGL functions implementation.
3 * Copyright (c) 2000 Lionel Ulmer
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library 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 GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 #ifndef __DLLS_OPENGL32_WGL_H
21 #define __DLLS_OPENGL32_WGL_H
23 #include "gdi.h"
25 typedef void *HGLRC;
27 typedef struct {
28 WORD nSize;
29 WORD nVersion;
30 DWORD dwFlags;
31 BYTE iPixelType;
32 BYTE cColorBits;
33 BYTE cRedBits;
34 BYTE cRedShift;
35 BYTE cGreenBits;
36 BYTE cGreenShift;
37 BYTE cBlueBits;
38 BYTE cBlueShift;
39 BYTE cAlphaBits;
40 BYTE cAlphaShift;
41 BYTE cAccumBits;
42 BYTE cAccumRedBits;
43 BYTE cAccumGreenBits;
44 BYTE cAccumBlueBits;
45 BYTE cAccumAlphaBits;
46 BYTE cDepthBits;
47 BYTE cStencilBits;
48 BYTE cAuxBuffers;
49 BYTE iLayerPlane;
50 BYTE bReserved;
51 COLORREF crTransparent;
52 } LAYERPLANEDESCRIPTOR;
53 typedef LAYERPLANEDESCRIPTOR* LPLAYERPLANEDESCRIPTOR;
55 typedef struct {
56 FLOAT x;
57 FLOAT y;
58 } POINTFLOAT;
60 typedef struct {
61 FLOAT gmfBlackBoxX;
62 FLOAT gmfBlackBoxY;
63 POINTFLOAT gmfptGlyphOrigin;
64 FLOAT gmfCellIncX;
65 FLOAT gmfCellIncY;
66 } GLYPHMETRICSFLOAT;
67 typedef GLYPHMETRICSFLOAT *LPGLYPHMETRICSFLOAT;
69 HGLRC WINAPI wglCreateContext(HDC hdc) ;
70 HGLRC WINAPI wglCreateLayerContext(HDC hdc,
71 int iLayerPlane) ;
72 BOOL WINAPI wglCopyContext(HGLRC hglrcSrc,
73 HGLRC hglrcDst,
74 UINT mask) ;
75 BOOL WINAPI wglDeleteContext(HGLRC hglrc) ;
76 BOOL WINAPI wglDescribeLayerPlane(HDC hdc,
77 int iPixelFormat,
78 int iLayerPlane,
79 UINT nBytes,
80 LPLAYERPLANEDESCRIPTOR plpd) ;
81 HGLRC WINAPI wglGetCurrentContext(void) ;
82 HDC WINAPI wglGetCurrentDC(void) ;
83 int WINAPI wglGetLayerPaletteEntries(HDC hdc,
84 int iLayerPlane,
85 int iStart,
86 int cEntries,
87 const COLORREF *pcr) ;
88 void * WINAPI wglGetProcAddress(LPCSTR lpszProc) ;
89 BOOL WINAPI wglMakeCurrent(HDC hdc,
90 HGLRC hglrc) ;
91 BOOL WINAPI wglRealizeLayerPalette(HDC hdc,
92 int iLayerPlane,
93 BOOL bRealize) ;
94 int WINAPI wglSetLayerPaletteEntries(HDC hdc,
95 int iLayerPlane,
96 int iStart,
97 int cEntries,
98 const COLORREF *pcr) ;
99 BOOL WINAPI wglShareLists(HGLRC hglrc1,
100 HGLRC hglrc2) ;
101 BOOL WINAPI wglSwapLayerBuffers(HDC hdc,
102 UINT fuPlanes);
103 BOOL WINAPI wglUseFontBitmaps(HDC hdc,
104 DWORD first,
105 DWORD count,
106 DWORD listBase) ;
107 BOOL WINAPI wglUseFontOutlines(HDC hdc,
108 DWORD first,
109 DWORD count,
110 DWORD listBase,
111 FLOAT deviation,
112 FLOAT extrusion,
113 int format,
114 LPGLYPHMETRICSFLOAT lpgmf) ;
116 #endif /* __DLLS_OPENGL32_WGL_H */