#ifndef MOUSEEVENT_HPP_INCLUDED
#define MOUSEEVENT_HPP_INCLUDED

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

namespace Internal
{
    class MouseEvent : public Object
    {
        public:
            MouseEvent(const void* Object);
            MouseEvent(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 Button);

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

#endif // MOUSEEVENT_HPP_INCLUDED
