#include "mouse.hpp" namespace Mouse { Uint32 cursorHideTime = 3000; // Tiempo en milisegundos para ocultar el cursor por inactividad Uint32 lastMouseMoveTime = 0; // Última vez que el ratón se movió bool cursorVisible = true; // Estado del cursor void handleEvent(const SDL_Event &event, bool fullscreen) { if (event.type == SDL_EVENT_MOUSE_MOTION) { lastMouseMoveTime = SDL_GetTicks(); if (!cursorVisible && !fullscreen) { SDL_ShowCursor(); cursorVisible = true; } } } void updateCursorVisibility(bool fullscreen) { // En pantalla completa el cursor siempre está oculto if (fullscreen) { if (cursorVisible) { SDL_HideCursor(); cursorVisible = false; } return; } // En modo ventana, lo oculta tras el periodo de inactividad const Uint32 currentTime = SDL_GetTicks(); if (cursorVisible && (currentTime - lastMouseMoveTime > cursorHideTime)) { SDL_HideCursor(); cursorVisible = false; } } } // namespace Mouse