22 #ifndef COMMON_EVENTS_H 23 #define COMMON_EVENTS_H 25 #include "common/keyboard.h" 26 #include "common/queue.h" 27 #include "common/rect.h" 28 #include "common/noncopyable.h" 30 #include "common/list.h" 31 #include "common/singleton.h" 56 EVENT_LBUTTONDOWN = 4,
58 EVENT_RBUTTONDOWN = 6,
62 EVENT_MBUTTONDOWN = 13,
66 EVENT_RETURN_TO_LAUNCHER = 16,
70 EVENT_SCREEN_CHANGED = 11,
85 EVENT_CUSTOM_BACKEND_ACTION_START = 18,
86 EVENT_CUSTOM_BACKEND_ACTION_END = 19,
87 EVENT_CUSTOM_BACKEND_ACTION_AXIS = 34,
88 EVENT_CUSTOM_ENGINE_ACTION_START = 20,
89 EVENT_CUSTOM_ENGINE_ACTION_END = 21,
91 EVENT_VIRTUAL_KEYBOARD = 22,
95 EVENT_JOYAXIS_MOTION = 24,
96 EVENT_JOYBUTTON_DOWN = 25,
97 EVENT_JOYBUTTON_UP = 26,
99 EVENT_CLIPBOARD_UPDATE = 27,
101 EVENT_CUSTOM_BACKEND_HARDWARE = 28,
111 EVENT_X1BUTTONUP = 31,
112 EVENT_X2BUTTONDOWN = 32,
113 EVENT_X2BUTTONUP = 33,
117 EVENT_FOCUS_LOST = 37
120 const int16 JOYAXIS_MIN = -32768;
121 const int16 JOYAXIS_MAX = 32767;
146 JOYSTICK_BUTTON_INVALID,
151 JOYSTICK_BUTTON_BACK,
152 JOYSTICK_BUTTON_GUIDE,
153 JOYSTICK_BUTTON_START,
154 JOYSTICK_BUTTON_LEFT_STICK,
155 JOYSTICK_BUTTON_RIGHT_STICK,
156 JOYSTICK_BUTTON_LEFT_SHOULDER,
157 JOYSTICK_BUTTON_RIGHT_SHOULDER,
158 JOYSTICK_BUTTON_DPAD_UP,
159 JOYSTICK_BUTTON_DPAD_DOWN,
160 JOYSTICK_BUTTON_DPAD_LEFT,
161 JOYSTICK_BUTTON_DPAD_RIGHT,
162 JOYSTICK_BUTTON_DPAD_CENTER
169 JOYSTICK_AXIS_LEFT_STICK_X,
170 JOYSTICK_AXIS_LEFT_STICK_Y,
171 JOYSTICK_AXIS_RIGHT_STICK_X,
172 JOYSTICK_AXIS_RIGHT_STICK_Y,
173 JOYSTICK_AXIS_LEFT_TRIGGER,
174 JOYSTICK_AXIS_RIGHT_TRIGGER,
183 MOUSE_BUTTON_LEFT = 0,
184 MOUSE_BUTTON_RIGHT = 1,
185 MOUSE_BUTTON_MIDDLE = 2,
187 MOUSE_WHEEL_DOWN = 4,
241 Event() : type(EVENT_INVALID), kbdRepeat(false), customType(0) {
268 virtual bool pollEvent(
Event &event) = 0;
293 _artificialEventQueue.push(ev);
297 if (!_artificialEventQueue.empty()) {
298 ev = _artificialEventQueue.pop();
334 virtual bool notifyEvent(
const Event &event) = 0;
392 void registerMapper(
EventMapper *mapper,
bool autoFree);
404 void registerSource(
EventSource *source,
bool autoFree);
417 void ignoreSources(
bool ignore);
425 void registerObserver(
EventObserver *obs, uint priority,
bool autoFree,
bool listenPolls =
false);
439 struct MapperEntry :
public Entry {
445 struct SourceEntry :
public Entry {
451 struct ObserverEntry :
public Entry {
459 void dispatchEvent(
const Event &event);
476 LBUTTON = 1 << MOUSE_BUTTON_LEFT,
477 RBUTTON = 1 << MOUSE_BUTTON_RIGHT
492 virtual bool pollEvent(
Event &event) = 0;
497 virtual void pushEvent(
const Event &event) = 0;
502 virtual void purgeMouseEvents() = 0;
507 virtual void purgeKeyboardEvents() = 0;
510 virtual Point getMousePos()
const = 0;
517 virtual int getButtonState()
const = 0;
520 virtual int getModifierState()
const = 0;
525 virtual int shouldQuit()
const = 0;
530 virtual int shouldReturnToLauncher()
const = 0;
536 virtual void resetReturnToLauncher() = 0;
537 virtual void resetQuit() = 0;
548 virtual Keymap *getGlobalKeymap() = 0;
555 kEventManPriority = 0,
560 kEventRecorderPriority = 1,
565 kEventRemapperPriority = 999
bool isMouseEvent(const Event &event)
Common::Path path
Definition: events.h:228
void addEvent(const Event &ev)
Definition: events.h:292
uint8 button
Definition: events.h:137
bool kbdRepeat
Definition: events.h:208
Common::Point relMouse
Definition: events.h:233
CustomEventType customType
Definition: events.h:225
EventType
Definition: events.h:48
EventSource * makeKeyboardRepeatingEventSource(EventSource *eventSource)
uint32 CustomEventType
Definition: events.h:192
int16 position
Definition: events.h:130
EventDispatcher * getEventDispatcher()
Definition: events.h:571
Point mouse
Definition: events.h:222
Definition: keymapper.h:44
JoystickAxis
Definition: events.h:168
Definition: noncopyable.h:39
MouseButton
Definition: events.h:182
KeyState kbd
Definition: events.h:214
bool pollEvent(Event &ev)
Definition: events.h:296
JoystickState joystick
Definition: events.h:239
Definition: algorithm.h:29
virtual bool allowMapping() const
Definition: events.h:278
Definition: keyboard.h:294
EventType type
Definition: events.h:201
JoystickButton
Definition: events.h:145
virtual void notifyPoll()
Definition: events.h:339
virtual void init()
Definition: events.h:485
byte axis
Definition: events.h:128
virtual bool allowMapping() const
Definition: events.h:309