Implemented support for horizontal mouse wheel scrolling as well as high-precision scrolling on Windows and OS X.
This commit is contained in:
parent
81a8e4e4ca
commit
e17cc520d6
6 changed files with 139 additions and 45 deletions
|
@ -102,6 +102,9 @@ public:
|
|||
////////////////////////////////////////////////////////////
|
||||
/// \brief Mouse wheel events parameters (MouseWheelMoved)
|
||||
///
|
||||
/// \deprecated This event is deprecated and potentially inaccurate.
|
||||
/// Use MouseWheelVerticalEvent instead.
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
struct MouseWheelEvent
|
||||
{
|
||||
|
@ -110,6 +113,28 @@ public:
|
|||
int y; ///< Y position of the mouse pointer, relative to the top of the owner window
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Mouse wheel horizontal events parameters (MouseWheelHorizontalMoved)
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
struct MouseWheelHorizontalEvent
|
||||
{
|
||||
float delta; ///< Number of ticks the wheel has moved (positive is left, negative is right)
|
||||
int x; ///< X position of the mouse pointer, relative to the left of the owner window
|
||||
int y; ///< Y position of the mouse pointer, relative to the top of the owner window
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Mouse wheel vertical events parameters (MouseWheelVerticalMoved)
|
||||
///
|
||||
////////////////////////////////////////////////////////////
|
||||
struct MouseWheelVerticalEvent
|
||||
{
|
||||
float delta; ///< Number of ticks the wheel has moved (positive is up, negative is down)
|
||||
int x; ///< X position of the mouse pointer, relative to the left of the owner window
|
||||
int y; ///< Y position of the mouse pointer, relative to the top of the owner window
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Joystick connection events parameters
|
||||
/// (JoystickConnected, JoystickDisconnected)
|
||||
|
@ -152,7 +177,7 @@ public:
|
|||
int x; ///< X position of the touch, relative to the left of the owner window
|
||||
int y; ///< Y position of the touch, relative to the top of the owner window
|
||||
};
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
/// \brief Sensor event parameters (SensorChanged)
|
||||
///
|
||||
|
@ -171,30 +196,32 @@ public:
|
|||
////////////////////////////////////////////////////////////
|
||||
enum EventType
|
||||
{
|
||||
Closed, ///< The window requested to be closed (no data)
|
||||
Resized, ///< The window was resized (data in event.size)
|
||||
LostFocus, ///< The window lost the focus (no data)
|
||||
GainedFocus, ///< The window gained the focus (no data)
|
||||
TextEntered, ///< A character was entered (data in event.text)
|
||||
KeyPressed, ///< A key was pressed (data in event.key)
|
||||
KeyReleased, ///< A key was released (data in event.key)
|
||||
MouseWheelMoved, ///< The mouse wheel was scrolled (data in event.mouseWheel)
|
||||
MouseButtonPressed, ///< A mouse button was pressed (data in event.mouseButton)
|
||||
MouseButtonReleased, ///< A mouse button was released (data in event.mouseButton)
|
||||
MouseMoved, ///< The mouse cursor moved (data in event.mouseMove)
|
||||
MouseEntered, ///< The mouse cursor entered the area of the window (no data)
|
||||
MouseLeft, ///< The mouse cursor left the area of the window (no data)
|
||||
JoystickButtonPressed, ///< A joystick button was pressed (data in event.joystickButton)
|
||||
JoystickButtonReleased, ///< A joystick button was released (data in event.joystickButton)
|
||||
JoystickMoved, ///< The joystick moved along an axis (data in event.joystickMove)
|
||||
JoystickConnected, ///< A joystick was connected (data in event.joystickConnect)
|
||||
JoystickDisconnected, ///< A joystick was disconnected (data in event.joystickConnect)
|
||||
TouchBegan, ///< A touch event began (data in event.touch)
|
||||
TouchMoved, ///< A touch moved (data in event.touch)
|
||||
TouchEnded, ///< A touch event ended (data in event.touch)
|
||||
SensorChanged, ///< A sensor value changed (data in event.sensor)
|
||||
Closed, ///< The window requested to be closed (no data)
|
||||
Resized, ///< The window was resized (data in event.size)
|
||||
LostFocus, ///< The window lost the focus (no data)
|
||||
GainedFocus, ///< The window gained the focus (no data)
|
||||
TextEntered, ///< A character was entered (data in event.text)
|
||||
KeyPressed, ///< A key was pressed (data in event.key)
|
||||
KeyReleased, ///< A key was released (data in event.key)
|
||||
MouseWheelMoved, ///< The mouse wheel was scrolled (data in event.mouseWheel) (deprecated)
|
||||
MouseWheelHorizontalMoved, ///< The mouse wheel was tilted horizontally (data in event.mouseWheelHorizontal)
|
||||
MouseWheelVerticalMoved, ///< The mouse wheel was scrolled vertically (data in event.mouseWheelVertical)
|
||||
MouseButtonPressed, ///< A mouse button was pressed (data in event.mouseButton)
|
||||
MouseButtonReleased, ///< A mouse button was released (data in event.mouseButton)
|
||||
MouseMoved, ///< The mouse cursor moved (data in event.mouseMove)
|
||||
MouseEntered, ///< The mouse cursor entered the area of the window (no data)
|
||||
MouseLeft, ///< The mouse cursor left the area of the window (no data)
|
||||
JoystickButtonPressed, ///< A joystick button was pressed (data in event.joystickButton)
|
||||
JoystickButtonReleased, ///< A joystick button was released (data in event.joystickButton)
|
||||
JoystickMoved, ///< The joystick moved along an axis (data in event.joystickMove)
|
||||
JoystickConnected, ///< A joystick was connected (data in event.joystickConnect)
|
||||
JoystickDisconnected, ///< A joystick was disconnected (data in event.joystickConnect)
|
||||
TouchBegan, ///< A touch event began (data in event.touch)
|
||||
TouchMoved, ///< A touch moved (data in event.touch)
|
||||
TouchEnded, ///< A touch event ended (data in event.touch)
|
||||
SensorChanged, ///< A sensor value changed (data in event.sensor)
|
||||
|
||||
Count ///< Keep last -- the total number of event types
|
||||
Count ///< Keep last -- the total number of event types
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
|
@ -204,17 +231,19 @@ public:
|
|||
|
||||
union
|
||||
{
|
||||
SizeEvent size; ///< Size event parameters (Event::Resized)
|
||||
KeyEvent key; ///< Key event parameters (Event::KeyPressed, Event::KeyReleased)
|
||||
TextEvent text; ///< Text event parameters (Event::TextEntered)
|
||||
MouseMoveEvent mouseMove; ///< Mouse move event parameters (Event::MouseMoved)
|
||||
MouseButtonEvent mouseButton; ///< Mouse button event parameters (Event::MouseButtonPressed, Event::MouseButtonReleased)
|
||||
MouseWheelEvent mouseWheel; ///< Mouse wheel event parameters (Event::MouseWheelMoved)
|
||||
JoystickMoveEvent joystickMove; ///< Joystick move event parameters (Event::JoystickMoved)
|
||||
JoystickButtonEvent joystickButton; ///< Joystick button event parameters (Event::JoystickButtonPressed, Event::JoystickButtonReleased)
|
||||
JoystickConnectEvent joystickConnect; ///< Joystick (dis)connect event parameters (Event::JoystickConnected, Event::JoystickDisconnected)
|
||||
TouchEvent touch; ///< Touch events parameters (Event::TouchBegan, Event::TouchMoved, Event::TouchEnded)
|
||||
SensorEvent sensor; ///< Sensor event parameters (Event::SensorChanged)
|
||||
SizeEvent size; ///< Size event parameters (Event::Resized)
|
||||
KeyEvent key; ///< Key event parameters (Event::KeyPressed, Event::KeyReleased)
|
||||
TextEvent text; ///< Text event parameters (Event::TextEntered)
|
||||
MouseMoveEvent mouseMove; ///< Mouse move event parameters (Event::MouseMoved)
|
||||
MouseButtonEvent mouseButton; ///< Mouse button event parameters (Event::MouseButtonPressed, Event::MouseButtonReleased)
|
||||
MouseWheelEvent mouseWheel; ///< Mouse wheel event parameters (Event::MouseWheelMoved) (deprecated)
|
||||
MouseWheelHorizontalEvent mouseWheelHorizontal; ///< Mouse wheel horizontal event parameters (Event::MouseWheelHorizontalMoved)
|
||||
MouseWheelVerticalEvent mouseWheelVertical; ///< Mouse wheel vertical event parameters (Event::MouseWheelVerticalMoved)
|
||||
JoystickMoveEvent joystickMove; ///< Joystick move event parameters (Event::JoystickMoved)
|
||||
JoystickButtonEvent joystickButton; ///< Joystick button event parameters (Event::JoystickButtonPressed, Event::JoystickButtonReleased)
|
||||
JoystickConnectEvent joystickConnect; ///< Joystick (dis)connect event parameters (Event::JoystickConnected, Event::JoystickDisconnected)
|
||||
TouchEvent touch; ///< Touch events parameters (Event::TouchBegan, Event::TouchMoved, Event::TouchEnded)
|
||||
SensorEvent sensor; ///< Sensor event parameters (Event::SensorChanged)
|
||||
};
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue