#include "core/input/global_inputs.hpp" #include #include #include "core/jail/jinput.hpp" #include "core/rendering/overlay.hpp" #include "core/rendering/screen.hpp" #include "game/options.hpp" namespace GlobalInputs { static bool dec_zoom_was_pressed = false; static bool inc_zoom_was_pressed = false; static bool fullscreen_was_pressed = false; auto handle() -> bool { bool consumed = false; // Decrement zoom bool dec_zoom = JI_KeyPressed(Options::keys_gui.dec_zoom); if (dec_zoom && !dec_zoom_was_pressed) { Screen::get()->decZoom(); char msg[32]; snprintf(msg, sizeof(msg), "ZOOM %dx", Screen::get()->getZoom()); Overlay::showNotification(msg); consumed = true; } if (dec_zoom) consumed = true; // Mentres estiga polsada, consumir-la dec_zoom_was_pressed = dec_zoom; // Increment zoom bool inc_zoom = JI_KeyPressed(Options::keys_gui.inc_zoom); if (inc_zoom && !inc_zoom_was_pressed) { Screen::get()->incZoom(); char msg[32]; snprintf(msg, sizeof(msg), "ZOOM %dx", Screen::get()->getZoom()); Overlay::showNotification(msg); consumed = true; } if (inc_zoom) consumed = true; inc_zoom_was_pressed = inc_zoom; // Toggle fullscreen bool fullscreen = JI_KeyPressed(Options::keys_gui.fullscreen); if (fullscreen && !fullscreen_was_pressed) { Screen::get()->toggleFullscreen(); Overlay::showNotification(Screen::get()->isFullscreen() ? "FULLSCREEN" : "WINDOWED"); consumed = true; } if (fullscreen) consumed = true; fullscreen_was_pressed = fullscreen; return consumed; } } // namespace GlobalInputs