diff options
Diffstat (limited to 'engines/cge2/events.h')
-rw-r--r-- | engines/cge2/events.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/engines/cge2/events.h b/engines/cge2/events.h index 99f017bae3..39fbf536b9 100644 --- a/engines/cge2/events.h +++ b/engines/cge2/events.h @@ -65,6 +65,14 @@ public: /*----------------- MOUSE interface -----------------*/ +struct CGE2Event { + uint16 _mask; + uint16 _x; + uint16 _y; + Common::KeyCode _keyCode; + Sprite *_spritePtr; +}; + class Mouse : public Sprite { public: Sprite *_hold; @@ -83,6 +91,25 @@ private: CGE2Engine *_vm; }; +/*----------------- EventManager interface -----------------*/ + +class EventManager { +private: + CGE2Engine *_vm; + Common::Event _event; + CGE2Event _eventQueue[kEventMax]; + uint16 _eventQueueHead; + uint16 _eventQueueTail; + + void handleEvents(); +public: + EventManager(CGE2Engine *vm); + void poll(); + void clearEvent(Sprite *spr); + + CGE2Event &getNextEvent(); +}; + } // End of namespace CGE #endif // #define CGE2_EVENTS_H |