SDL_MouseMotionEvent is a member of the SDL_Event union and is used when an event of type SDL_MOUSEMOTION
is reported.
Simply put, a SDL_MOUSEMOTION type event occurs when a user moves the mouse within the application window
or when SDL_WarpMouse is called. Both the absolute (x and y) and relative (xrel and yrel) coordinates are
reported along with the current button states (state). The button state can be interpreted using the
SDL_BUTTON macro (see SDL_GetMouseState).
If the cursor is hidden (SDL_ShowCursor(0)) and the input is grabbed (SDL_WM_GrabInput(SDL_GRAB_ON)),
then the mouse will give relative motion events even when the cursor reaches the edge fo the screen. This
is currently only implemented on Windows and Linux/Unix-a-likes.