#pragma once #include namespace Menu { void init(); void destroy(); // "Actiu": el menú accepta input. Fals durant l'animació de tancament. [[nodiscard]] auto isOpen() -> bool; // "Visible": hi ha una caixa pintada (incloent l'animació de tancament). // Overlay la usa per a decidir si cridar render(). [[nodiscard]] auto isVisible() -> bool; void toggle(); void close(); // Pinta el menú sobre el buffer ARGB — cridat des d'Overlay::render si està visible void render(Uint32* pixel_data); // Gestió d'input — cridat des del Director en KEY_DOWN void handleKey(SDL_Scancode sc); // Mode de captura de tecla (per al menú de remapeig) [[nodiscard]] auto isCapturing() -> bool; void captureKey(SDL_Scancode sc); // assigna la tecla capturada (ESC cancel·la) } // namespace Menu