From 921385b30c53eed03143e25509a28e079cbdc34d Mon Sep 17 00:00:00 2001 From: uruk Date: Mon, 26 May 2014 09:23:31 +0200 Subject: CGE2: Add stub for keyboard handling. --- engines/cge2/cge2.cpp | 3 +++ engines/cge2/cge2.h | 2 ++ engines/cge2/events.cpp | 24 ++++++++++++++++++++++++ engines/cge2/events.h | 29 +++++++++++++++++++++++++++++ 4 files changed, 58 insertions(+) (limited to 'engines') diff --git a/engines/cge2/cge2.cpp b/engines/cge2/cge2.cpp index ef4646194e..7c4d1f13c8 100644 --- a/engines/cge2/cge2.cpp +++ b/engines/cge2/cge2.cpp @@ -59,6 +59,7 @@ CGE2Engine::CGE2Engine(OSystem *syst, const ADGameDescription *gameDescription) _commandHandlerTurbo = nullptr; _infoLine = nullptr; _mouse = nullptr; + _keyboard = nullptr; _talk = nullptr; for (int i = 0; i < kMaxPoint; i++) _point[i] = nullptr; @@ -97,6 +98,7 @@ void CGE2Engine::init() { _commandHandlerTurbo = new CommandHandler(this, true); _infoLine = new InfoLine(this, kInfoW); _mouse = new Mouse(this); + _keyboard = new Keyboard(this); for (int i = 0; i < kMaxPoint; i++) _point[i] = new V3D(); } @@ -123,6 +125,7 @@ void CGE2Engine::deinit() { delete _commandHandlerTurbo; delete _infoLine; delete _mouse; + delete _keyboard; if (_talk != nullptr) delete _talk; for (int i = 0; i < kMaxPoint; i++) { diff --git a/engines/cge2/cge2.h b/engines/cge2/cge2.h index d40d417ae8..d067e40153 100644 --- a/engines/cge2/cge2.h +++ b/engines/cge2/cge2.h @@ -50,6 +50,7 @@ class Spare; class CommandHandler; class InfoLine; class Mouse; +class Keyboard; class Talk; class Hero; class Bitmap; @@ -213,6 +214,7 @@ public: CommandHandler *_commandHandlerTurbo; InfoLine *_infoLine; Mouse *_mouse; + Keyboard *_keyboard; Talk *_talk; V3D *_point[kMaxPoint]; private: diff --git a/engines/cge2/events.cpp b/engines/cge2/events.cpp index 3675909d74..670ea61c93 100644 --- a/engines/cge2/events.cpp +++ b/engines/cge2/events.cpp @@ -36,6 +36,30 @@ #include "cge2/cge2_main.h" namespace CGE2 { + +/*----------------- KEYBOARD interface -----------------*/ + +Keyboard::Keyboard(CGE2Engine *vm) : _client(NULL), _vm(vm) { + warning("STUB: Keyboard::Keyboard() - Recheck the whole implementation!!!"); +} + +Keyboard::~Keyboard() { +} + +Sprite *Keyboard::setClient(Sprite *spr) { + warning("STUB: Keyboard::setClient()"); + return spr; +} + +bool Keyboard::getKey(Common::Event &event) { + warning("STUB: Keyboard::getKey()"); + return false; +} + +void Keyboard::newKeyboard(Common::Event &event) { + warning("STUB: Keyboard::newKeyboard()"); +} + /*----------------- MOUSE interface -----------------*/ Mouse::Mouse(CGE2Engine *vm) : Sprite(vm), _busy(NULL), _hold(NULL), _hx(0), _vm(vm) { diff --git a/engines/cge2/events.h b/engines/cge2/events.h index 1442d85b39..99f017bae3 100644 --- a/engines/cge2/events.h +++ b/engines/cge2/events.h @@ -34,6 +34,35 @@ namespace CGE2 { +/*----------------- KEYBOARD interface -----------------*/ + +#define kEventMax 256 + +enum EventMask { + kMouseRoll = 1 << 0, + kMouseLeftDown = 1 << 1, + kMouseLeftUp = 1 << 2, + kMouseRightDown = 1 << 3, + kMouseRightUp = 1 << 4, + kEventAttn = 1 << 5, + kEventKeyb = 1 << 7 +}; + +class Keyboard { +private: + bool getKey(Common::Event &event); + CGE2Engine *_vm; +public: + Sprite *_client; + bool _keyAlt; + + void newKeyboard(Common::Event &event); + Sprite *setClient(Sprite *spr); + + Keyboard(CGE2Engine *vm); + ~Keyboard(); +}; + /*----------------- MOUSE interface -----------------*/ class Mouse : public Sprite { -- cgit v1.2.3