29 lines
1.1 KiB
C++
29 lines
1.1 KiB
C++
#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
|
|
// 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
|