Fixed a few problems with DCX_* flags handling.
[wine] / dlls / opengl32 / wgl.h
1 /* Window-specific OpenGL functions implementation.
2
3      Copyright (c) 2000 Lionel Ulmer
4 */
5
6 #ifndef __DLLS_OPENGL32_WGL_H
7 #define __DLLS_OPENGL32_WGL_H
8
9 #include "gdi.h"
10
11 typedef void *HGLRC;
12
13 typedef struct {
14   WORD  nSize; 
15   WORD  nVersion; 
16   DWORD dwFlags; 
17   BYTE  iPixelType; 
18   BYTE  cColorBits; 
19   BYTE  cRedBits; 
20   BYTE  cRedShift; 
21   BYTE  cGreenBits; 
22   BYTE  cGreenShift; 
23   BYTE  cBlueBits; 
24   BYTE  cBlueShift; 
25   BYTE  cAlphaBits; 
26   BYTE  cAlphaShift; 
27   BYTE  cAccumBits; 
28   BYTE  cAccumRedBits; 
29   BYTE  cAccumGreenBits; 
30   BYTE  cAccumBlueBits; 
31   BYTE  cAccumAlphaBits; 
32   BYTE  cDepthBits; 
33   BYTE  cStencilBits; 
34   BYTE  cAuxBuffers; 
35   BYTE  iLayerPlane;
36   BYTE  bReserved; 
37   COLORREF crTransparent; 
38 } LAYERPLANEDESCRIPTOR; 
39 typedef LAYERPLANEDESCRIPTOR* LPLAYERPLANEDESCRIPTOR;
40
41 typedef struct {
42   FLOAT      x; 
43   FLOAT      y; 
44 } POINTFLOAT; 
45
46 typedef struct {
47   FLOAT      gmfBlackBoxX; 
48   FLOAT      gmfBlackBoxY; 
49   POINTFLOAT gmfptGlyphOrigin; 
50   FLOAT      gmfCellIncX; 
51   FLOAT      gmfCellIncY; 
52 } GLYPHMETRICSFLOAT; 
53 typedef GLYPHMETRICSFLOAT *LPGLYPHMETRICSFLOAT;
54
55 HGLRC WINAPI wglCreateContext(HDC hdc) ;
56 HGLRC WINAPI wglCreateLayerContext(HDC hdc,
57                                    int iLayerPlane) ;
58 BOOL WINAPI wglCopyContext(HGLRC hglrcSrc,
59                            HGLRC hglrcDst,
60                            UINT mask) ;
61 BOOL WINAPI wglDeleteContext(HGLRC hglrc) ;
62 BOOL WINAPI wglDescribeLayerPlane(HDC hdc,
63                                   int iPixelFormat,
64                                   int iLayerPlane,
65                                   UINT nBytes,
66                                   LPLAYERPLANEDESCRIPTOR plpd) ;
67 HGLRC WINAPI wglGetCurrentContext(void) ;
68 HDC WINAPI wglGetCurrentDC(void) ;
69 int WINAPI wglGetLayerPaletteEntries(HDC hdc,
70                                      int iLayerPlane,
71                                      int iStart,
72                                      int cEntries,
73                                      const COLORREF *pcr) ;
74 void * WINAPI wglGetProcAddress(LPCSTR  lpszProc) ;
75 BOOL WINAPI wglMakeCurrent(HDC hdc,
76                            HGLRC hglrc) ;
77 BOOL WINAPI wglRealizeLayerPalette(HDC hdc,
78                                    int iLayerPlane,
79                                    BOOL bRealize) ;
80 int WINAPI wglSetLayerPaletteEntries(HDC hdc,
81                                      int iLayerPlane,
82                                      int iStart,
83                                      int cEntries,
84                                      const COLORREF *pcr) ;
85 BOOL WINAPI wglShareLists(HGLRC hglrc1,
86                           HGLRC hglrc2) ;
87 BOOL WINAPI wglSwapLayerBuffers(HDC hdc,
88                                 UINT fuPlanes);
89 BOOL WINAPI wglUseFontBitmaps(HDC hdc,
90                               DWORD first,
91                               DWORD count,
92                               DWORD listBase) ;
93 BOOL WINAPI wglUseFontOutlines(HDC hdc,
94                                DWORD first,
95                                DWORD count,
96                                DWORD listBase,
97                                FLOAT deviation,
98                                FLOAT extrusion,
99                                int format,
100                                LPGLYPHMETRICSFLOAT lpgmf) ;
101
102 #endif /* __DLLS_OPENGL32_WGL_H */
103