37#ifndef WIN32_LEAN_AND_MEAN
38 #define WIN32_LEAN_AND_MEAN
56#if _WIN32_WINNT < 0x0501
58 #define _WIN32_WINNT 0x0501
62#define DIRECTINPUT_VERSION 0x0800
75 #define WM_MOUSEHWHEEL 0x020E
77#ifndef WM_DWMCOMPOSITIONCHANGED
78 #define WM_DWMCOMPOSITIONCHANGED 0x031E
80#ifndef WM_DWMCOLORIZATIONCOLORCHANGED
81 #define WM_DWMCOLORIZATIONCOLORCHANGED 0x0320
83#ifndef WM_COPYGLOBALDATA
84 #define WM_COPYGLOBALDATA 0x0049
87 #define WM_UNICHAR 0x0109
90 #define UNICODE_NOCHAR 0xFFFF
93 #define WM_DPICHANGED 0x02E0
95#ifndef GET_XBUTTON_WPARAM
96 #define GET_XBUTTON_WPARAM(w) (HIWORD(w))
98#ifndef EDS_ROTATEDMODE
99 #define EDS_ROTATEDMODE 0x00000004
101#ifndef DISPLAY_DEVICE_ACTIVE
102 #define DISPLAY_DEVICE_ACTIVE 0x00000001
104#ifndef _WIN32_WINNT_WINBLUE
105 #define _WIN32_WINNT_WINBLUE 0x0603
107#ifndef _WIN32_WINNT_WIN8
108 #define _WIN32_WINNT_WIN8 0x0602
110#ifndef WM_GETDPISCALEDSIZE
111 #define WM_GETDPISCALEDSIZE 0x02e4
113#ifndef USER_DEFAULT_SCREEN_DPI
114 #define USER_DEFAULT_SCREEN_DPI 96
117 #define OCR_HAND 32649
127 #define MSGFLT_ALLOW 1
132#define DWM_BB_ENABLE 0x00000001
133#define DWM_BB_BLURREGION 0x00000002
145#ifndef DPI_ENUMS_DECLARED
161#ifndef DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2
162#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ((HANDLE) -4)
166#define IsWindowsVistaOrGreater() \
167 _glfwIsWindowsVersionOrGreaterWin32(HIBYTE(_WIN32_WINNT_VISTA), \
168 LOBYTE(_WIN32_WINNT_VISTA), 0)
169#define IsWindows7OrGreater() \
170 _glfwIsWindowsVersionOrGreaterWin32(HIBYTE(_WIN32_WINNT_WIN7), \
171 LOBYTE(_WIN32_WINNT_WIN7), 0)
172#define IsWindows8OrGreater() \
173 _glfwIsWindowsVersionOrGreaterWin32(HIBYTE(_WIN32_WINNT_WIN8), \
174 LOBYTE(_WIN32_WINNT_WIN8), 0)
175#define IsWindows8Point1OrGreater() \
176 _glfwIsWindowsVersionOrGreaterWin32(HIBYTE(_WIN32_WINNT_WINBLUE), \
177 LOBYTE(_WIN32_WINNT_WINBLUE), 0)
179#define _glfwIsWindows10AnniversaryUpdateOrGreaterWin32() \
180 _glfwIsWindows10BuildOrGreaterWin32(14393)
181#define _glfwIsWindows10CreatorsUpdateOrGreaterWin32() \
182 _glfwIsWindows10BuildOrGreaterWin32(15063)
185#ifndef XINPUT_CAPS_WIRELESS
186 #define XINPUT_CAPS_WIRELESS 0x0002
188#ifndef XINPUT_DEVSUBTYPE_WHEEL
189 #define XINPUT_DEVSUBTYPE_WHEEL 0x02
191#ifndef XINPUT_DEVSUBTYPE_ARCADE_STICK
192 #define XINPUT_DEVSUBTYPE_ARCADE_STICK 0x03
194#ifndef XINPUT_DEVSUBTYPE_FLIGHT_STICK
195 #define XINPUT_DEVSUBTYPE_FLIGHT_STICK 0x04
197#ifndef XINPUT_DEVSUBTYPE_DANCE_PAD
198 #define XINPUT_DEVSUBTYPE_DANCE_PAD 0x05
200#ifndef XINPUT_DEVSUBTYPE_GUITAR
201 #define XINPUT_DEVSUBTYPE_GUITAR 0x06
203#ifndef XINPUT_DEVSUBTYPE_DRUM_KIT
204 #define XINPUT_DEVSUBTYPE_DRUM_KIT 0x08
206#ifndef XINPUT_DEVSUBTYPE_ARCADE_PAD
207 #define XINPUT_DEVSUBTYPE_ARCADE_PAD 0x13
209#ifndef XUSER_MAX_COUNT
210 #define XUSER_MAX_COUNT 4
214#ifndef DIDFT_OPTIONAL
215 #define DIDFT_OPTIONAL 0x80000000
220#define timeGetTime _glfw.win32.winmm.GetTime
225#define XInputGetCapabilities _glfw.win32.xinput.GetCapabilities
226#define XInputGetState _glfw.win32.xinput.GetState
230#define DirectInput8Create _glfw.win32.dinput8.Create
239#define SetProcessDPIAware _glfw.win32.user32.SetProcessDPIAware_
240#define ChangeWindowMessageFilterEx _glfw.win32.user32.ChangeWindowMessageFilterEx_
241#define EnableNonClientDpiScaling _glfw.win32.user32.EnableNonClientDpiScaling_
242#define SetProcessDpiAwarenessContext _glfw.win32.user32.SetProcessDpiAwarenessContext_
243#define GetDpiForWindow _glfw.win32.user32.GetDpiForWindow_
244#define AdjustWindowRectExForDpi _glfw.win32.user32.AdjustWindowRectExForDpi_
251#define DwmIsCompositionEnabled _glfw.win32.dwmapi.IsCompositionEnabled
252#define DwmFlush _glfw.win32.dwmapi.Flush
253#define DwmEnableBlurBehindWindow _glfw.win32.dwmapi.EnableBlurBehindWindow
254#define DwmGetColorizationColor _glfw.win32.dwmapi.GetColorizationColor
259#define SetProcessDpiAwareness _glfw.win32.shcore.SetProcessDpiAwareness_
260#define GetDpiForMonitor _glfw.win32.shcore.GetDpiForMonitor_
264#define RtlVerifyVersionInfo _glfw.win32.ntdll.RtlVerifyVersionInfo_
283#if !defined(_GLFW_WNDCLASSNAME)
284 #define _GLFW_WNDCLASSNAME L"GLFW30"
287#define _glfw_dlopen(name) LoadLibraryA(name)
288#define _glfw_dlclose(handle) FreeLibrary((HMODULE) handle)
289#define _glfw_dlsym(handle, name) GetProcAddress((HMODULE) handle, name)
291#define _GLFW_PLATFORM_WINDOW_STATE _GLFWwindowWin32 win32
292#define _GLFW_PLATFORM_LIBRARY_WINDOW_STATE _GLFWlibraryWin32 win32
293#define _GLFW_PLATFORM_LIBRARY_TIMER_STATE _GLFWtimerWin32 win32
294#define _GLFW_PLATFORM_MONITOR_STATE _GLFWmonitorWin32 win32
295#define _GLFW_PLATFORM_CURSOR_STATE _GLFWcursorWin32 win32
296#define _GLFW_PLATFORM_TLS_STATE _GLFWtlsWin32 win32
297#define _GLFW_PLATFORM_MUTEX_STATE _GLFWmutexWin32 win32
#define APIENTRY
Compiler- and platform-specific preprocessor work.
unsigned __int64 uint64_t
char keynames[GLFW_KEY_LAST+1][5]
_GLFWwindow * disabledCursorWindow
DWORD foregroundLockTimeout
PFN_DwmEnableBlurBehindWindow EnableBlurBehindWindow
PFN_EnableNonClientDpiScaling EnableNonClientDpiScaling_
PFN_ChangeWindowMessageFilterEx ChangeWindowMessageFilterEx_
short int scancodes[GLFW_KEY_LAST+1]
PFN_SetProcessDpiAwareness SetProcessDpiAwareness_
PFN_XInputGetState GetState
PFN_XInputGetCapabilities GetCapabilities
PFN_GetDpiForMonitor GetDpiForMonitor_
PFN_GetDpiForWindow GetDpiForWindow_
PFN_SetProcessDPIAware SetProcessDPIAware_
struct _GLFWlibraryWin32::@29 xinput
PFN_DwmIsCompositionEnabled IsCompositionEnabled
struct _GLFWlibraryWin32::@28 dinput8
PFN_RtlVerifyVersionInfo RtlVerifyVersionInfo_
PFN_SetProcessDpiAwarenessContext SetProcessDpiAwarenessContext_
struct _GLFWlibraryWin32::@30 user32
struct _GLFWlibraryWin32::@32 shcore
struct _GLFWlibraryWin32::@33 ntdll
struct _GLFWlibraryWin32::@27 winmm
HDEVNOTIFY deviceNotificationHandle
struct _GLFWlibraryWin32::@31 dwmapi
PFN_AdjustWindowRectExForDpi AdjustWindowRectExForDpi_
PFN_DwmGetColorizationColor GetColorizationColor
PFN_DirectInput8Create Create
char publicAdapterName[32]
char publicDisplayName[32]
BOOL fTransitionOnMaximized
VkWin32SurfaceCreateFlagsKHR flags