#pragma once

#include <SDL3/SDL.h>

namespace Mouse {
extern Uint32 cursor_hide_time;      // Tiempo en milisegundos para ocultar el cursor
extern Uint32 last_mouse_move_time;  // Última vez que el ratón se movió
extern bool cursor_visible;          // Estado del cursor

void forceHide();  // Forçar ocultació del cursor (sincronitza estat intern)
void handleEvent(const SDL_Event& event);
void updateCursorVisibility();

// Control de visibilidad forzada (para modo pantalla completa)
void setForceHidden(bool force);  // Activar/desactivar ocultación forzada
bool isForceHidden();             // Consultar estado actual
}  // namespace Mouse
