Estructura SDL_MouseMotionEvent
Una estructura que contiene información de eventos de movimiento del ratón.
typedef struct SDL_MouseMotionEvent { Uint32 type; /**< ::SDL_MOUSEMOTION */ Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */ Uint32 windowID; /**< The window with mouse focus, if any */ Uint32 which; /**< The mouse instance id, or SDL_TOUCH_MOUSEID */ Uint32 state; /**< The current button state */ Sint32 x; /**< X coordinate, relative to window */ Sint32 y; /**< Y coordinate, relative to window */ Sint32 xrel; /**< The relative motion in the X direction */ Sint32 yrel; /**< The relative motion in the Y direction */ } SDL_MouseMotionEvent;
Miembros
- type
- SDL_MOUSEMOTION
- timestamp
- Marca de tiempo en milisegundos.
- windowID
- La ventana con el foco del teclado, si hay alguna.
- which
- El id de instancia del ratón, o SDL_TOUCH_MOUSEID, ver observaciones.
- state
- El estado del botón, ver observaciones.
- x
- Coordenada X, relativa a la ventana.
- y
- Coordenada Y, relativa a la ventana.
- xrel
- Movimiento relativo en el eje x.
- yrel
- Movimiento relativo en el eje y.
Observaciones
SDL_MouseMotionEvent es un miembro de la unión SDL_Event y se utiliza cuando se reporta un evento de tipo SDL_MOUSEMOTION. Se accede a él a través del campo motion del evento.
Un evento SDL_MOUSEMOTION ocurre siempre que un usuario mueve el ratón dentro de la ventana de la aplicación o cuando se llama a SDL_WarpMouseInWindow().
state es una máscara de bits de 32 bits del estado actual del botón y es la misma que devuelve SDL_GetMouseState(). Se pueden comprobar probar diferentes botones usando las siguientes máscaras:
- SDL_BUTTON_LMASK
- SDL_BUTTON_MMASK
- SDL_BUTTON_RMASK
- SDL_BUTTON_X1MASK
- SDL_BUTTON_X2MASK
which puede ser SDL_TOUCH_MOUSEID, para eventos que fueron generados por un dispositivo de entrada táctil, y no un ratón real. Es posible que desee ignorar este tipo de eventos, si su aplicación ya maneja SDL_TouchFingerEvent.
El movimiento relativo se almacena en xrel e yrel y es relativo al último evento de movimiento. Si el modo relativo del ratón está habilitado con SDL_SetRelativeMouseMode(), entonces el ratón dará eventos de movimiento relativo incluso cuando el cursor alcance el borde de la pantalla.