diff --git a/src/Magnum/Platform/Sdl2Application.cpp b/src/Magnum/Platform/Sdl2Application.cpp index 60486cbf2..573a19b49 100644 --- a/src/Magnum/Platform/Sdl2Application.cpp +++ b/src/Magnum/Platform/Sdl2Application.cpp @@ -374,13 +374,13 @@ void Sdl2Application::mainLoop() { case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: { - MouseEvent e(static_cast(event.button.button), {event.button.x, event.button.y}); + MouseEvent e(static_cast(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; diff --git a/src/Magnum/Platform/Sdl2Application.h b/src/Magnum/Platform/Sdl2Application.h index 7878376d6..3af264851 100644 --- a/src/Magnum/Platform/Sdl2Application.h +++ b/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; };