Exemplo n.º 1
0
void keyUp(const SDL_KeyboardEvent & event) {
    switch (event.keysym.sym) {
    case SDLK_UP :
        gKeyForward.release();
        break;
    case SDLK_DOWN :
        gKeyBackward.release();
        break;
    case SDLK_PAGEDOWN :
        gKeyDown.release();
        break;
    case SDLK_PAGEUP :
        gKeyUp.release();
        break;
    case SDLK_LEFT :
        gKeyLeft.release();
        break;
    case SDLK_RIGHT :
        gKeyRight.release();
        break;
    case SDLK_f :
        switchFullscreen();
        break;
    default:
        break;
    }
}
Exemplo n.º 2
0
void fpD3D12Window::createWindow( const char* name, unsigned int x, unsigned int y, unsigned int width, unsigned int height, bool fullscreen)
{

	
	_height = height;
	_width = width;
	_x = x;
	_y = y;

	_name = name;
	_deleted = false;
	_fullscreen = fullscreen;
	_minimize = false;





	switchFullscreen(fullscreen);
	showWindow();


}
Exemplo n.º 3
0
void Window::registerAttributes()
{
    _attribFunctions["fullscreen"] = AttributeFunctor([&](const Values& args) {
        if (args.size() != 1)
            return false;
        switchFullscreen(args[0].asInt());
        return true;
    }, [&]() -> Values {
        return {_screenId};
    });

    _attribFunctions["decorated"] = AttributeFunctor([&](const Values& args) {
        if (args.size() != 1)
            return false;
        _withDecoration = args[0].asInt() == 0 ? false : true;
        setWindowDecoration(_withDecoration);
        updateWindowShape();
        return true;
    }, [&]() -> Values {
        if (_screenId != -1)
            return Values();
        else
            return {(int)_withDecoration};
    });

    _attribFunctions["srgb"] = AttributeFunctor([&](const Values& args) {
        if (args.size() != 1)
            return false;
        if (args[0].asInt() != 0)
            _srgb = true;
        else
            _srgb = false;
        return true;
    }, [&]() -> Values {
        return {_srgb};
    });

    _attribFunctions["gamma"] = AttributeFunctor([&](const Values& args) {
        if (args.size() != 1)
            return false;
        _gammaCorrection = args[0].asFloat();
        return true;
    }, [&]() -> Values {
        return {_gammaCorrection};
    });

    // Attribute to configure the placement of the various texture input
    _attribFunctions["layout"] = AttributeFunctor([&](const Values& args) {
        if (args.size() < 1)
            return false;
        _layout = args;
        return true;
    }, [&]() {
        return _layout;
    });

    _attribFunctions["position"] = AttributeFunctor([&](const Values& args) {
        if (args.size() != 2)
            return false;
        _windowRect[0] = args[0].asInt();
        _windowRect[1] = args[1].asInt();
        updateWindowShape();
        return true;
    }, [&]() -> Values {
        if (_screenId != -1)
            return {};
        else
            return {_windowRect[0], _windowRect[1]};
    });

    _attribFunctions["size"] = AttributeFunctor([&](const Values& args) {
        if (args.size() != 2)
            return false;
        _windowRect[2] = args[0].asInt();
        _windowRect[3] = args[1].asInt();
        updateWindowShape();
        return true;
    }, [&]() -> Values {
        if (_screenId != -1)
            return {};
        else
            return {_windowRect[2], _windowRect[3]};
    });

    _attribFunctions["swapInterval"] = AttributeFunctor([&](const Values& args) {
        if (args.size() != 1)
            return false;
        _swapInterval = max(-1, args[0].asInt());
        updateSwapInterval();
        return true;
    });

    _attribFunctions["swapTest"] = AttributeFunctor([&](const Values& args) {
        if (args.size() != 1)
            return false;
        _swapSynchronizationTesting = args[0].asInt();
        return true;
    });

    _attribFunctions["swapTestColor"] = AttributeFunctor([&](const Values& args) {
        if (args.size() != 4)
            return false;
        _swapSynchronizationColor = glm::vec4(args[0].asFloat(), args[1].asFloat(), args[2].asFloat(), args[3].asFloat());
        return true;
    });
}