Support DllGetClassObject of CLSID_StdPicture.
[wine] / dlls / opengl32 / wgl.h
1 /* Window-specific OpenGL functions implementation.
2  *
3  * Copyright (c) 2000 Lionel Ulmer
4  *
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.
9  *
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.
14  *
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
18  */
19
20 #ifndef __DLLS_OPENGL32_WGL_H
21 #define __DLLS_OPENGL32_WGL_H
22
23 #include "gdi.h"
24
25 typedef void *HGLRC;
26
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;
54
55 typedef struct {
56   FLOAT      x;
57   FLOAT      y;
58 } POINTFLOAT;
59
60 typedef struct {
61   FLOAT      gmfBlackBoxX;
62   FLOAT      gmfBlackBoxY;
63   POINTFLOAT gmfptGlyphOrigin;
64   FLOAT      gmfCellIncX;
65   FLOAT      gmfCellIncY;
66 } GLYPHMETRICSFLOAT;
67 typedef GLYPHMETRICSFLOAT *LPGLYPHMETRICSFLOAT;
68
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) ;
115
116 #endif /* __DLLS_OPENGL32_WGL_H */
117