#pragma once #include namespace Overlay { void init(); void destroy(); // Pinta l'overlay sobre el buffer ARGB — cridar abans de presentar void render(Uint32* pixel_data); // Mostra una notificació amb animació slide-in/stay/slide-out void showNotification(const char* text, float duration_seconds = 2.0F); // Activa/desactiva la info de renderitzat (FPS, driver, shader, preset) void toggleRenderInfo(); void cycleRenderInfo(int dir); // dir=+1 avant, -1 endarrere // Configura els segments del render info. Cada segment (nullptr o string buit // per amagar) apareix/desapareix amb animació; el conjunt es centra dinàmicament. // `mono_mask` és un bitfield: bit N = 1 → segment N amb amplada monoespaiada. void setRenderInfoSegments(const char* s0, const char* s1, const char* s2, const char* s3, unsigned int mono_mask = 0); // Gestió d'eixida amb doble ESC // Retorna true si l'ESC ha sigut consumit (no s'ha de passar al joc) auto handleEscape() -> bool; // True mentre s'espera la segona pulsació d'ESC auto isEscConsumed() -> bool; } // namespace Overlay