int _glfwPlatformInit(void) { // To make SetForegroundWindow work as we want, we need to fiddle // with the FOREGROUNDLOCKTIMEOUT system setting (we do this as early // as possible in the hope of still being the foreground process) SystemParametersInfoW(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, &_glfw.win32.foregroundLockTimeout, 0); SystemParametersInfoW(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, UIntToPtr(0), SPIF_SENDCHANGE); if (!initLibraries()) return GLFW_FALSE; createKeyTables(); if (_glfw_SetProcessDPIAwareness) _glfw_SetProcessDPIAwareness(PROCESS_PER_MONITOR_DPI_AWARE); else if (_glfw_SetProcessDPIAware) _glfw_SetProcessDPIAware(); if (!_glfwRegisterWindowClass()) return GLFW_FALSE; if (!_glfwInitContextAPI()) return GLFW_FALSE; _glfwInitTimer(); _glfwInitJoysticks(); return GLFW_TRUE; }
int _glfwPlatformInit(void) { if (!_glfwInitThreadLocalStorageWin32()) return GLFW_FALSE; // To make SetForegroundWindow work as we want, we need to fiddle // with the FOREGROUNDLOCKTIMEOUT system setting (we do this as early // as possible in the hope of still being the foreground process) SystemParametersInfoW(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, &_glfw.win32.foregroundLockTimeout, 0); SystemParametersInfoW(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, UIntToPtr(0), SPIF_SENDCHANGE); if (!loadLibraries()) return GLFW_FALSE; createKeyTables(); if (_glfw_SetProcessDPIAwareness) _glfw_SetProcessDPIAwareness(PROCESS_PER_MONITOR_DPI_AWARE); else if (_glfw_SetProcessDPIAware) _glfw_SetProcessDPIAware(); if (!_glfwRegisterWindowClassWin32()) return GLFW_FALSE; _glfw.win32.helperWindow = createHelperWindow(); if (!_glfw.win32.helperWindow) return GLFW_FALSE; _glfwPlatformPollEvents(); #if defined(_GLFW_WGL) if (!_glfwInitWGL()) return GLFW_FALSE; #elif defined(_GLFW_EGL) if (!_glfwInitEGL()) return GLFW_FALSE; #endif _glfwInitTimerWin32(); _glfwInitJoysticksWin32(); return GLFW_TRUE; }