xref: /aosp_15_r20/external/libepoxy/include/epoxy/wgl.h (revision 706d0b42ae4182339789e08d473a0b312ecdc60f)
1*706d0b42SXin Li /*
2*706d0b42SXin Li  * Copyright © 2013 Intel Corporation
3*706d0b42SXin Li  *
4*706d0b42SXin Li  * Permission is hereby granted, free of charge, to any person obtaining a
5*706d0b42SXin Li  * copy of this software and associated documentation files (the "Software"),
6*706d0b42SXin Li  * to deal in the Software without restriction, including without limitation
7*706d0b42SXin Li  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8*706d0b42SXin Li  * and/or sell copies of the Software, and to permit persons to whom the
9*706d0b42SXin Li  * Software is furnished to do so, subject to the following conditions:
10*706d0b42SXin Li  *
11*706d0b42SXin Li  * The above copyright notice and this permission notice (including the next
12*706d0b42SXin Li  * paragraph) shall be included in all copies or substantial portions of the
13*706d0b42SXin Li  * Software.
14*706d0b42SXin Li  *
15*706d0b42SXin Li  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16*706d0b42SXin Li  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17*706d0b42SXin Li  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18*706d0b42SXin Li  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19*706d0b42SXin Li  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20*706d0b42SXin Li  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21*706d0b42SXin Li  * IN THE SOFTWARE.
22*706d0b42SXin Li  */
23*706d0b42SXin Li 
24*706d0b42SXin Li /** @file wgl.h
25*706d0b42SXin Li  *
26*706d0b42SXin Li  * Provides an implementation of a WGL dispatch layer using a hidden
27*706d0b42SXin Li  * vtable.
28*706d0b42SXin Li  */
29*706d0b42SXin Li 
30*706d0b42SXin Li #ifndef EPOXY_WGL_H
31*706d0b42SXin Li #define EPOXY_WGL_H
32*706d0b42SXin Li 
33*706d0b42SXin Li #include <windows.h>
34*706d0b42SXin Li 
35*706d0b42SXin Li #include "epoxy/common.h"
36*706d0b42SXin Li 
37*706d0b42SXin Li #undef wglUseFontBitmaps
38*706d0b42SXin Li #undef wglUseFontOutlines
39*706d0b42SXin Li 
40*706d0b42SXin Li #if defined(__wglxext_h_)
41*706d0b42SXin Li #error epoxy/wgl.h must be included before (or in place of) wgl.h
42*706d0b42SXin Li #else
43*706d0b42SXin Li #define __wglxext_h_
44*706d0b42SXin Li #endif
45*706d0b42SXin Li 
46*706d0b42SXin Li #ifdef UNICODE
47*706d0b42SXin Li #define wglUseFontBitmaps wglUseFontBitmapsW
48*706d0b42SXin Li #else
49*706d0b42SXin Li #define wglUseFontBitmaps wglUseFontBitmapsA
50*706d0b42SXin Li #endif
51*706d0b42SXin Li 
52*706d0b42SXin Li EPOXY_BEGIN_DECLS
53*706d0b42SXin Li 
54*706d0b42SXin Li #include "epoxy/wgl_generated.h"
55*706d0b42SXin Li 
56*706d0b42SXin Li EPOXY_PUBLIC bool epoxy_has_wgl_extension(HDC hdc, const char *extension);
57*706d0b42SXin Li EPOXY_PUBLIC void epoxy_handle_external_wglMakeCurrent(void);
58*706d0b42SXin Li 
59*706d0b42SXin Li EPOXY_END_DECLS
60*706d0b42SXin Li 
61*706d0b42SXin Li #endif /* EPOXY_WGL_H */
62