stuff-from-scratch/src/ui_elements/ui_events/MouseEvent.h
2023-01-17 08:34:48 +00:00

42 lines
665 B
C++

#pragma once
#include <memory>
#include "DiscretePoint.h"
#include "UiEvent.h"
class MouseEvent : public UiEvent
{
public:
enum class Action
{
Pressed,
Released
};
public:
MouseEvent();
~MouseEvent();
static std::unique_ptr<MouseEvent> 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<MouseEvent>;