Exemplo n.º 1
0
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)
    SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0,
                         &_glfw.win32.foregroundLockTimeout, 0);
    SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, UIntToPtr(0),
                         SPIF_SENDCHANGE);

    if (!initLibraries())
        return GL_FALSE;

#ifdef __BORLANDC__
    // With the Borland C++ compiler, we want to disable FPU exceptions
    // (this is recommended for OpenGL applications under Windows)
    _control87(MCW_EM, MCW_EM);
#endif

    _glfw.win32.instance = GetModuleHandle(NULL);

    // Save the original gamma ramp
    _glfw.originalRampSize = 256;
    _glfwPlatformGetGammaRamp(&_glfw.originalRamp);
    _glfw.currentRamp = _glfw.originalRamp;

    if (!_glfwInitOpenGL())
        return GL_FALSE;

    _glfwInitTimer();

    _glfwInitJoysticks();

    return GL_TRUE;
}
Exemplo n.º 2
0
int _glfwPlatformInit(void)
{
    XInitThreads();

    if (!initDisplay())
        return GL_FALSE;

    _glfwInitGammaRamp();

    if (!_glfwInitOpenGL())
        return GL_FALSE;

    initEWMH();

    _glfwLibrary.X11.cursor = createNULLCursor();

    if (!_glfwInitJoysticks())
        return GL_FALSE;

    // Start the timer
    _glfwInitTimer();

    return GL_TRUE;
}