Browse Source

Platform: added Sdl2Application::MouseEvent::clickCount().

pull/157/head
Vladimír Vondruš 10 years ago
parent
commit
e36b5e3517
  1. 4
      src/Magnum/Platform/Sdl2Application.cpp
  2. 10
      src/Magnum/Platform/Sdl2Application.h

4
src/Magnum/Platform/Sdl2Application.cpp

@ -374,13 +374,13 @@ void Sdl2Application::mainLoop() {
case SDL_MOUSEBUTTONDOWN:
case SDL_MOUSEBUTTONUP: {
MouseEvent e(static_cast<MouseEvent::Button>(event.button.button), {event.button.x, event.button.y});
MouseEvent e(static_cast<MouseEvent::Button>(event.button.button), {event.button.x, event.button.y}, event.button.clicks);
event.type == SDL_MOUSEBUTTONDOWN ? mousePressEvent(e) : mouseReleaseEvent(e);
} break;
case SDL_MOUSEWHEEL:
if(event.wheel.y != 0) {
MouseEvent e(event.wheel.y > 0 ? MouseEvent::Button::WheelUp : MouseEvent::Button::WheelDown, {event.wheel.x, event.wheel.y});
MouseEvent e(event.wheel.y > 0 ? MouseEvent::Button::WheelUp : MouseEvent::Button::WheelDown, {event.wheel.x, event.wheel.y}, 0);
mousePressEvent(e);
} break;

10
src/Magnum/Platform/Sdl2Application.h

@ -1135,6 +1135,13 @@ class Sdl2Application::MouseEvent: public Sdl2Application::InputEvent {
/** @brief Position */
constexpr Vector2i position() const { return _position; }
/**
* @brief Click count
*
* Ignored for wheel events.
*/
constexpr Int clickCount() const { return _clickCount; }
/**
* @brief Modifiers
*
@ -1143,10 +1150,11 @@ class Sdl2Application::MouseEvent: public Sdl2Application::InputEvent {
Modifiers modifiers();
private:
constexpr MouseEvent(Button button, const Vector2i& position): _button{button}, _position{position}, _modifiersLoaded{false} {}
constexpr MouseEvent(Button button, const Vector2i& position, Int clickCount): _button{button}, _position{position}, _clickCount{clickCount}, _modifiersLoaded{false} {}
const Button _button;
const Vector2i _position;
const Int _clickCount;
bool _modifiersLoaded;
Modifiers _modifiers;
};

Loading…
Cancel
Save