diff options
author | Filippos Karapetis | 2015-12-18 03:31:07 +0200 |
---|---|---|
committer | Willem Jan Palenstijn | 2015-12-23 21:34:08 +0100 |
commit | 12572a9c4b503e6c9e947301d4610626c152f902 (patch) | |
tree | 199a0830ad6eec7725ff005f80ce02e4e58203ee | |
parent | 15889e6fd25dd0010dd2b5488cbabae46621954b (diff) | |
download | scummvm-rg350-12572a9c4b503e6c9e947301d4610626c152f902.tar.gz scummvm-rg350-12572a9c4b503e6c9e947301d4610626c152f902.tar.bz2 scummvm-rg350-12572a9c4b503e6c9e947301d4610626c152f902.zip |
LAB: Merge enableButton() and disableButton()
-rw-r--r-- | engines/lab/eventman.h | 3 | ||||
-rw-r--r-- | engines/lab/interface.cpp | 23 | ||||
-rw-r--r-- | engines/lab/map.cpp | 14 | ||||
-rw-r--r-- | engines/lab/special.cpp | 14 |
4 files changed, 13 insertions, 41 deletions
diff --git a/engines/lab/eventman.h b/engines/lab/eventman.h index 7b5f2dd204..342f8599c1 100644 --- a/engines/lab/eventman.h +++ b/engines/lab/eventman.h @@ -98,9 +98,8 @@ public: void attachButtonList(ButtonList *buttonList); Button *createButton(uint16 x, uint16 y, uint16 id, uint16 key, Image *image, Image *altImage); - void disableButton(Button *button, uint16 penColor); + void toggleButton(Button *button, uint16 penColor, bool enable); void drawButtonList(ButtonList *buttonList); - void enableButton(Button *button); void freeButtonList(ButtonList *buttonList); Button *getButton(uint16 id); Common::Point getMousePos(); diff --git a/engines/lab/interface.cpp b/engines/lab/interface.cpp index 949db06520..c47339c10f 100644 --- a/engines/lab/interface.cpp +++ b/engines/lab/interface.cpp @@ -72,27 +72,20 @@ void EventManager::freeButtonList(ButtonList *buttonList) { */ void EventManager::drawButtonList(ButtonList *buttonList) { for (ButtonList::iterator button = buttonList->begin(); button != buttonList->end(); ++button) { - (*button)->_image->drawImage((*button)->_x, (*button)->_y); + toggleButton((*button), 1, true); if (!(*button)->_isEnabled) - disableButton((*button), 1); + toggleButton((*button), 1, false); } } -/** - * Dims a button, and makes it unavailable for using. - */ -void EventManager::disableButton(Button *button, uint16 penColor) { - _vm->_graphics->overlayRect(penColor, button->_x, button->_y, button->_x + button->_image->_width - 1, button->_y + button->_image->_height - 1); - button->_isEnabled = false; -} +void EventManager::toggleButton(Button *button, uint16 disabledPenColor, bool enable) { + if (!enable) + _vm->_graphics->overlayRect(disabledPenColor, button->_x, button->_y, button->_x + button->_image->_width - 1, button->_y + button->_image->_height - 1); + else + button->_image->drawImage(button->_x, button->_y); -/** - * Undims a button, and makes it available again. - */ -void EventManager::enableButton(Button *button) { - button->_image->drawImage(button->_x, button->_y); - button->_isEnabled = true; + button->_isEnabled = enable; } /** diff --git a/engines/lab/map.cpp b/engines/lab/map.cpp index bdd9eaf75f..4c2bfe2cce 100644 --- a/engines/lab/map.cpp +++ b/engines/lab/map.cpp @@ -377,18 +377,8 @@ void LabEngine::drawMap(uint16 curRoom, uint16 curMsg, uint16 floorNum, bool fad if ((_maps[curRoom]._pageNumber == floorNum) && _roomsFound->in(curRoom) && _maps[curRoom]._x) drawRoomMap(curRoom, true); - Button *upButton = _event->getButton(1); - Button *downButton = _event->getButton(2); - - if (getUpperFloor(floorNum) != kFloorNone) - _event->enableButton(upButton); - else - _event->disableButton(upButton, 12); - - if (getLowerFloor(floorNum) != kFloorNone) - _event->enableButton(downButton); - else - _event->disableButton(downButton, 12); + _event->toggleButton(_event->getButton(1), 12, (getUpperFloor(floorNum) != kFloorNone)); // up button + _event->toggleButton(_event->getButton(2), 12, (getLowerFloor(floorNum) != kFloorNone)); // down button // Labyrinth specific code if (floorNum == kFloorLower) { diff --git a/engines/lab/special.cpp b/engines/lab/special.cpp index 194564c891..bf0938b45c 100644 --- a/engines/lab/special.cpp +++ b/engines/lab/special.cpp @@ -234,18 +234,8 @@ void LabEngine::drawJournal(uint16 wipenum, bool needFade) { else turnPage((wipenum == 1)); - Button *backButton = _event->getButton(0); - Button *forwardButton = _event->getButton(2); - - if (_journalPage == 0) - _event->disableButton(backButton, 15); - else - _event->enableButton(backButton); - - if (_lastPage) - _event->disableButton(forwardButton, 15); - else - _event->enableButton(forwardButton); + _event->toggleButton(_event->getButton(0), 15, (_journalPage > 0)); // back button + _event->toggleButton(_event->getButton(2), 15, (!_lastPage)); // forward button if (needFade) _graphics->fade(true, 0); |