#pragma once #include #include #include // Notificacions overlay centralitzades. Cada call site tria una entrada de // la `Palette` semàntica i una durada; el color base (pastel) i el seu // outline (versió fosca derivada) viuen en un sol lloc — `notifications.cpp`. // // Per a tunejar l'estètica només cal editar les constants del .cpp. namespace Notifications { enum class Palette : std::uint8_t { INFO, // pastel groc — zoom, finestra/fullscreen TOGGLE, // pastel cian — activacions on/off (shader) CHOICE, // pastel magenta — selecció entre opcions (tipus shader) SUCCESS, // pastel verd — acceptat / connectat (preset, mando added) DANGER, // pastel roig — confirmacions perilloses / desconnexions }; constexpr Uint32 STANDARD_MS = 1500; // Hotkeys "normals" constexpr Uint32 CONFIRM_MS = 2000; // Doble pulsació d'ESC constexpr Uint32 LONG_MS = 2500; // Esdeveniments rellevants (mando) // Mostra una notificació. L'outline es deriva automàticament del color // base com a versió fosca (~25% de lluminositat). void show(const std::string &text, Palette palette, Uint32 duration_ms); } // namespace Notifications