#include "mouse.h"
#include <SDL3/SDL_mouse.h> // Para SDL_ShowCursor
#include <SDL3/SDL_timer.h> // Para SDL_GetTicks

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

    void handleEvent(const SDL_Event &event)
    {
        if (event.type == SDL_EVENT_MOUSE_MOTION)
        {
            last_mouse_move_time = SDL_GetTicks();
            if (!cursor_visible)
            {
                SDL_ShowCursor();
                cursor_visible = true;
            }
        }
    }

    void updateCursorVisibility()
    {
        Uint32 current_time = SDL_GetTicks();
        if (cursor_visible && (current_time - last_mouse_move_time > cursor_hide_time))
        {
            SDL_HideCursor();
            cursor_visible = false;
        }
    }
}
