42 lines
1.4 KiB
C++
42 lines
1.4 KiB
C++
#include "core/input/global_inputs.hpp"
|
|
|
|
#include "core/input/input.h"
|
|
#include "core/rendering/screen.h"
|
|
|
|
namespace GlobalInputs {
|
|
|
|
auto handle() -> bool {
|
|
if (Screen::get() == nullptr || Input::get() == nullptr) { return false; }
|
|
|
|
if (Input::get()->checkInput(WINDOW_FULLSCREEN, Input::Repeat::OFF)) {
|
|
Screen::get()->toggleVideoMode();
|
|
return true;
|
|
}
|
|
if (Input::get()->checkInput(WINDOW_DEC_ZOOM, Input::Repeat::OFF)) {
|
|
Screen::get()->decWindowZoom();
|
|
return true;
|
|
}
|
|
if (Input::get()->checkInput(WINDOW_INC_ZOOM, Input::Repeat::OFF)) {
|
|
Screen::get()->incWindowZoom();
|
|
return true;
|
|
}
|
|
if (Input::get()->checkInput(TOGGLE_SHADER, Input::Repeat::OFF)) {
|
|
Screen::get()->toggleShaderEnabled();
|
|
return true;
|
|
}
|
|
// F5/F6 només actuen quan el post-procesado està actiu.
|
|
if (Screen::isShaderEnabled()) {
|
|
if (Input::get()->checkInput(TOGGLE_SHADER_TYPE, Input::Repeat::OFF)) {
|
|
Screen::get()->toggleActiveShader();
|
|
return true;
|
|
}
|
|
if (Input::get()->checkInput(NEXT_SHADER_PRESET, Input::Repeat::OFF)) {
|
|
Screen::get()->nextPreset();
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
} // namespace GlobalInputs
|