aboutsummaryrefslogtreecommitdiff
path: root/engines/cge/events.h
diff options
context:
space:
mode:
authorPaul Gilbert2011-07-02 18:38:25 +1000
committerPaul Gilbert2011-07-02 18:38:25 +1000
commitbb3d61b137aea4cab3e82d4f9f93b1dbea27c54e (patch)
tree0196fda7a01f9de73926ebe3e8139c235451a4cc /engines/cge/events.h
parentd55401c2e10276827372f8df29418937cc2daf22 (diff)
downloadscummvm-rg350-bb3d61b137aea4cab3e82d4f9f93b1dbea27c54e.tar.gz
scummvm-rg350-bb3d61b137aea4cab3e82d4f9f93b1dbea27c54e.tar.bz2
scummvm-rg350-bb3d61b137aea4cab3e82d4f9f93b1dbea27c54e.zip
CGE: Created an EventManager class and hooked it up to the Keyboard class
Diffstat (limited to 'engines/cge/events.h')
-rw-r--r--engines/cge/events.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/engines/cge/events.h b/engines/cge/events.h
index 462571f5ad..be003ea0d8 100644
--- a/engines/cge/events.h
+++ b/engines/cge/events.h
@@ -28,6 +28,7 @@
#ifndef __CGE_CGE_EVENTS__
#define __CGE_CGE_EVENTS__
+#include "common/events.h"
#include "cge/game.h"
#include "cge/talk.h"
#include "cge/jbw.h"
@@ -45,13 +46,17 @@ namespace CGE {
class Keyboard {
+private:
+ bool getKey(uint16 keycode, int &cgeCode);
public:
static const uint16 _code[0x60];
+ static const uint16 _scummVmCodes[0x60];
- void NewKeyboard(...);
uint16 _current;
Sprite *_client;
- uint8 _key[0x60];
+ bool _key[0x60];
+
+ void NewKeyboard(Common::Event &event);
uint16 last() {
uint16 cur = _current;
_current = 0;
@@ -77,14 +82,14 @@ public:
extern TALK *Talk;
-struct Event {
+struct CGEEvent {
uint16 _msk;
uint16 _x;
uint16 _y;
Sprite *_ptr;
};
-extern Event Evt[EVT_MAX];
+extern CGEEvent Evt[EVT_MAX];
extern uint16 EvtHead, EvtTail;
typedef void (MOUSE_FUN)(void);
@@ -112,8 +117,17 @@ private:
CGEEngine *_vm;
};
-/*----------------- Access variables -----------------*/
-// TODO: Move this into either the CGEEngine class or a suitable 'globals'
+/*----------------- EventManager interface -----------------*/
+
+class EventManager {
+private:
+ Common::Event _event;
+public:
+ bool _quitFlag;
+
+ EventManager();
+ void poll();
+};
} // End of namespace CGE