11#include <promeki/config.h>
12#if PROMEKI_ENABLE_CORE
17PROMEKI_NAMESPACE_BEGIN
26class MouseEvent :
public Event {
29 static const Type Mouse;
32 enum Button : uint8_t {
40 enum Action : uint8_t {
50 enum Modifier : uint8_t {
66 MouseEvent(
const Point2Di32 &pos, Button button, Action action, uint8_t modifiers = NoModifier,
68 : Event(Mouse), _pos(pos), _button(button), _action(action), _modifiers(modifiers),
72 const Point2Di32 &pos()
const {
return _pos; }
75 int x()
const {
return _pos.x(); }
78 int y()
const {
return _pos.y(); }
81 Button button()
const {
return _button; }
84 Action action()
const {
return _action; }
87 uint8_t modifiers()
const {
return _modifiers; }
90 uint8_t buttons()
const {
return _buttons; }
93 static String buttonName(Button button);
96 static String buttonsString(uint8_t buttons);
99 static String actionName(Action action);
106 uint8_t _buttons = 0;