aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2015-12-18 03:31:07 +0200
committerWillem Jan Palenstijn2015-12-23 21:34:08 +0100
commit12572a9c4b503e6c9e947301d4610626c152f902 (patch)
tree199a0830ad6eec7725ff005f80ce02e4e58203ee
parent15889e6fd25dd0010dd2b5488cbabae46621954b (diff)
downloadscummvm-rg350-12572a9c4b503e6c9e947301d4610626c152f902.tar.gz
scummvm-rg350-12572a9c4b503e6c9e947301d4610626c152f902.tar.bz2
scummvm-rg350-12572a9c4b503e6c9e947301d4610626c152f902.zip
LAB: Merge enableButton() and disableButton()
-rw-r--r--engines/lab/eventman.h3
-rw-r--r--engines/lab/interface.cpp23
-rw-r--r--engines/lab/map.cpp14
-rw-r--r--engines/lab/special.cpp14
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);