// global_events.cpp - Implementació dels events globals // © 2025 Port a C++20 #include "global_events.hpp" #include "core/input/mouse.hpp" #include "core/rendering/sdl_manager.hpp" #include "context_escenes.hpp" // Using declarations per simplificar el codi using GestorEscenes::ContextEscenes; using Escena = ContextEscenes::Escena; namespace GlobalEvents { bool handle(const SDL_Event& event, SDLManager& sdl, ContextEscenes& context) { // Tecles globals de finestra (F1/F2/F3) if (event.type == SDL_EVENT_KEY_DOWN) { switch (event.key.key) { case SDLK_F1: sdl.decreaseWindowSize(); return true; case SDLK_F2: sdl.increaseWindowSize(); return true; case SDLK_F3: sdl.toggleFullscreen(); return true; case SDLK_F4: sdl.toggleVSync(); return true; case SDLK_ESCAPE: context.canviar_escena(Escena::EIXIR); GestorEscenes::actual = Escena::EIXIR; return true; default: break; } } // Tancar finestra if (event.type == SDL_EVENT_QUIT) { context.canviar_escena(Escena::EIXIR); GestorEscenes::actual = Escena::EIXIR; return true; } // Gestió del ratolí (auto-ocultar) Mouse::handleEvent(event); return false; // Event no processat } } // namespace GlobalEvents