diff options
author | Filippos Karapetis | 2016-01-14 23:35:02 +0200 |
---|---|---|
committer | Filippos Karapetis | 2016-01-14 23:41:35 +0200 |
commit | 924d43b7aac241b9205af640b0a6788e4abc99bf (patch) | |
tree | b00890676a2eece1289b26fd694298c6742032e9 /engines/lab | |
parent | 46fdd5e7a48e0312c3fb523058f98e1d11f068e5 (diff) | |
download | scummvm-rg350-924d43b7aac241b9205af640b0a6788e4abc99bf.tar.gz scummvm-rg350-924d43b7aac241b9205af640b0a6788e4abc99bf.tar.bz2 scummvm-rg350-924d43b7aac241b9205af640b0a6788e4abc99bf.zip |
LAB: Better separation of the event and interface code
Diffstat (limited to 'engines/lab')
-rw-r--r-- | engines/lab/eventman.cpp | 47 | ||||
-rw-r--r-- | engines/lab/interface.cpp | 31 |
2 files changed, 39 insertions, 39 deletions
diff --git a/engines/lab/eventman.cpp b/engines/lab/eventman.cpp index 969cb8d8ce..60c56e003a 100644 --- a/engines/lab/eventman.cpp +++ b/engines/lab/eventman.cpp @@ -72,35 +72,19 @@ EventManager::EventManager(LabEngine *vm) : _vm(vm) { _keyPressed = Common::KEYCODE_INVALID; } -Button *EventManager::checkButtonHit(ButtonList *buttonList, Common::Point pos) { - for (ButtonList::iterator buttonItr = buttonList->begin(); buttonItr != buttonList->end(); ++buttonItr) { - Button *button = *buttonItr; - Common::Rect buttonRect(button->_x, button->_y, button->_x + button->_image->_width - 1, button->_y + button->_image->_height - 1); - - if (buttonRect.contains(pos) && button->_isEnabled) { - _hitButton = button; - return button; - } - } +void EventManager::initMouse() { + CursorMan.pushCursor(mouseData, MOUSE_WIDTH, MOUSE_HEIGHT, 0, 0, 0); + CursorMan.showMouse(false); - return nullptr; + setMousePos(Common::Point(_vm->_graphics->_screenWidth / 2, _vm->_graphics->_screenHeight / 2)); } -void EventManager::attachButtonList(ButtonList *buttonList) { - if (_screenButtonList != buttonList) - _lastButtonHit = nullptr; - - _screenButtonList = buttonList; +void EventManager::mouseShow() { + CursorMan.showMouse(true); } -Button *EventManager::getButton(uint16 id) { - for (ButtonList::iterator buttonItr = _screenButtonList->begin(); buttonItr != _screenButtonList->end(); ++buttonItr) { - Button *button = *buttonItr; - if (button->_buttonId == id) - return button; - } - - return nullptr; +void EventManager::mouseHide() { + CursorMan.showMouse(false); } void EventManager::updateMouse() { @@ -116,21 +100,6 @@ void EventManager::updateMouse() { _vm->_graphics->screenUpdate(); } -void EventManager::initMouse() { - CursorMan.pushCursor(mouseData, MOUSE_WIDTH, MOUSE_HEIGHT, 0, 0, 0); - CursorMan.showMouse(false); - - setMousePos(Common::Point(_vm->_graphics->_screenWidth / 2, _vm->_graphics->_screenHeight / 2)); -} - -void EventManager::mouseShow() { - CursorMan.showMouse(true); -} - -void EventManager::mouseHide() { - CursorMan.showMouse(false); -} - void EventManager::setMousePos(Common::Point pos) { if (_vm->_isHiRes) _vm->_system->warpMouse(pos.x, pos.y); diff --git a/engines/lab/interface.cpp b/engines/lab/interface.cpp index 41a9047ba9..b0a83a90bf 100644 --- a/engines/lab/interface.cpp +++ b/engines/lab/interface.cpp @@ -107,6 +107,37 @@ Button *EventManager::checkNumButtonHit(ButtonList *buttonList, Common::KeyCode return nullptr; } +Button *EventManager::checkButtonHit(ButtonList *buttonList, Common::Point pos) { + for (ButtonList::iterator buttonItr = buttonList->begin(); buttonItr != buttonList->end(); ++buttonItr) { + Button *button = *buttonItr; + Common::Rect buttonRect(button->_x, button->_y, button->_x + button->_image->_width - 1, button->_y + button->_image->_height - 1); + + if (buttonRect.contains(pos) && button->_isEnabled) { + _hitButton = button; + return button; + } + } + + return nullptr; +} + +void EventManager::attachButtonList(ButtonList *buttonList) { + if (_screenButtonList != buttonList) + _lastButtonHit = nullptr; + + _screenButtonList = buttonList; +} + +Button *EventManager::getButton(uint16 id) { + for (ButtonList::iterator buttonItr = _screenButtonList->begin(); buttonItr != _screenButtonList->end(); ++buttonItr) { + Button *button = *buttonItr; + if (button->_buttonId == id) + return button; + } + + return nullptr; +} + IntuiMessage *EventManager::getMsg() { static IntuiMessage message; |