27 lines
872 B
C++
27 lines
872 B
C++
#pragma once
|
|
|
|
#include <SDL3/SDL.h>
|
|
|
|
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
|