#pragma once

#include <SDL3/SDL.h>

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
    void setRenderInfoText(const char* text);

    // 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
