- punter del mouse amagat soles
- canvas de wasm mes gran
This commit is contained in:
35
source/mouse.cpp
Normal file
35
source/mouse.cpp
Normal file
@@ -0,0 +1,35 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user