aboutsummaryrefslogtreecommitdiff
path: root/engines/cge2/events.h
diff options
context:
space:
mode:
authoruruk2014-06-01 21:44:07 +0200
committeruruk2014-06-01 21:44:07 +0200
commit8eb6a4db8bb73df76c5cc1d90775d0925a5a6adb (patch)
treeb23c8a4daf2347b4bcfee0eac9eb1f729e37c79e /engines/cge2/events.h
parent82898716cf24098e664211a5e2f904f9fe98d2d5 (diff)
downloadscummvm-rg350-8eb6a4db8bb73df76c5cc1d90775d0925a5a6adb.tar.gz
scummvm-rg350-8eb6a4db8bb73df76c5cc1d90775d0925a5a6adb.tar.bz2
scummvm-rg350-8eb6a4db8bb73df76c5cc1d90775d0925a5a6adb.zip
CGE2: Add display of mouse cursor.
The actual click-handling is not working yet.
Diffstat (limited to 'engines/cge2/events.h')
-rw-r--r--engines/cge2/events.h27
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