diff options
Diffstat (limited to 'include/cru/ui/events/MouseWheelEventArgs.hpp')
-rw-r--r-- | include/cru/ui/events/MouseWheelEventArgs.hpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/cru/ui/events/MouseWheelEventArgs.hpp b/include/cru/ui/events/MouseWheelEventArgs.hpp new file mode 100644 index 00000000..d0b3a145 --- /dev/null +++ b/include/cru/ui/events/MouseWheelEventArgs.hpp @@ -0,0 +1,29 @@ +#pragma once +#include "MouseEventArgs.hpp" + +#include "cru/platform/gui/Keyboard.hpp" + +namespace cru::ui::events { +class MouseWheelEventArgs : public MouseEventArgs { + public: + MouseWheelEventArgs(Object* sender, Object* original_sender, + const Point& point, const float delta, + platform::gui::KeyModifier key_modifier) + : MouseEventArgs(sender, original_sender, point), + delta_(delta), + key_modifier_(key_modifier) {} + MouseWheelEventArgs(const MouseWheelEventArgs& other) = default; + MouseWheelEventArgs(MouseWheelEventArgs&& other) = default; + MouseWheelEventArgs& operator=(const MouseWheelEventArgs& other) = default; + MouseWheelEventArgs& operator=(MouseWheelEventArgs&& other) = default; + ~MouseWheelEventArgs() override = default; + + // Positive means down; Negative means up. + float GetDelta() const { return delta_; } + platform::gui::KeyModifier GetKeyModifier() const { return key_modifier_; } + + private: + float delta_; + platform::gui::KeyModifier key_modifier_; +}; +} // namespace cru::ui::event |