#ifndef MOUSEWHEELEVENT_HPP_INCLUDED
#define MOUSEWHEELEVENT_HPP_INCLUDED

#include <cstdint>
#include "Object.hpp"

namespace Internal
{
    class MouseWheelEvent : public Object
    {
        public:
            MouseWheelEvent(const void* Object);
            MouseWheelEvent(Object Source, std::int32_t ID, std::int64_t When, std::int32_t Modifiers,
                            std::int32_t X, std::int32_t Y, std::int32_t ClickCount, bool PopupTrigger,
                            std::int32_t ScrollType, std::int32_t ScrollAmount, std::int32_t WheelRotation);

            MouseWheelEvent() = default;
            MouseWheelEvent(MouseWheelEvent&& Obj) = default;
            MouseWheelEvent(const MouseWheelEvent& Obj) = default;
            MouseWheelEvent& operator=(MouseWheelEvent&& Obj) = default;
            MouseWheelEvent& operator=(const MouseWheelEvent& Obj) = default;
    };
}

#endif // MOUSEWHEELEVENT_HPP_INCLUDED
