diff options
Diffstat (limited to 'include/cru/ui/events/MouseWheelEventArgs.h')
-rw-r--r-- | include/cru/ui/events/MouseWheelEventArgs.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/cru/ui/events/MouseWheelEventArgs.h b/include/cru/ui/events/MouseWheelEventArgs.h new file mode 100644 index 00000000..85791491 --- /dev/null +++ b/include/cru/ui/events/MouseWheelEventArgs.h @@ -0,0 +1,29 @@ +#pragma once +#include "MouseEventArgs.h" + +#include "cru/platform/gui/Keyboard.h" + +namespace cru::ui::events { +class CRU_UI_API 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 |