mirror of https://github.com/encounter/SDL.git
Added mouse wheel deltas with floating point precision
Fixes https://github.com/libsdl-org/SDL/issues/4888
This commit is contained in:
parent
d95a52c9a5
commit
5dbbc8e61f
|
@ -301,6 +301,8 @@ typedef struct SDL_MouseWheelEvent
|
||||||
Sint32 x; /**< The amount scrolled horizontally, positive to the right and negative to the left */
|
Sint32 x; /**< The amount scrolled horizontally, positive to the right and negative to the left */
|
||||||
Sint32 y; /**< The amount scrolled vertically, positive away from the user and negative toward the user */
|
Sint32 y; /**< The amount scrolled vertically, positive away from the user and negative toward the user */
|
||||||
Uint32 direction; /**< Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back */
|
Uint32 direction; /**< Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back */
|
||||||
|
float preciseX; /**< The amount scrolled horizontally, positive to the right and negative to the left, with float precision (added in 2.0.18) */
|
||||||
|
float preciseY; /**< The amount scrolled vertically, positive away from the user and negative toward the user, with float precision (added in 2.0.18) */
|
||||||
} SDL_MouseWheelEvent;
|
} SDL_MouseWheelEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -650,12 +650,10 @@ SDL_SendMouseWheel(SDL_Window * window, SDL_MouseID mouseID, float x, float y, S
|
||||||
event.type = SDL_MOUSEWHEEL;
|
event.type = SDL_MOUSEWHEEL;
|
||||||
event.wheel.windowID = mouse->focus ? mouse->focus->id : 0;
|
event.wheel.windowID = mouse->focus ? mouse->focus->id : 0;
|
||||||
event.wheel.which = mouseID;
|
event.wheel.which = mouseID;
|
||||||
#if 0 /* Uncomment this when it goes in for SDL 2.1 */
|
|
||||||
event.wheel.preciseX = x;
|
|
||||||
event.wheel.preciseY = y;
|
|
||||||
#endif
|
|
||||||
event.wheel.x = integral_x;
|
event.wheel.x = integral_x;
|
||||||
event.wheel.y = integral_y;
|
event.wheel.y = integral_y;
|
||||||
|
event.wheel.preciseX = x;
|
||||||
|
event.wheel.preciseY = y;
|
||||||
event.wheel.direction = (Uint32)direction;
|
event.wheel.direction = (Uint32)direction;
|
||||||
posted = (SDL_PushEvent(&event) > 0);
|
posted = (SDL_PushEvent(&event) > 0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue