#pragma once #include #include "DiscretePoint.h" #include "UiEvent.h" class MouseEvent : public UiEvent { public: enum class Action { Pressed, Released }; public: MouseEvent(); ~MouseEvent(); static std::unique_ptr Create(); Pixel getClientLocation() const; Pixel getScreenLocation() const; Action getAction() const; void setClientLocation(Pixel location); void setScreenLocation(Pixel location); void setAction(Action action); private: Pixel mClientLocation; Pixel mScreenLocation; Action mAction; }; using MouseEventUPtr = std::unique_ptr;