aboutsummaryrefslogtreecommitdiff
path: root/engines/lab/interface.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2015-12-18 00:20:17 +0200
committerWillem Jan Palenstijn2015-12-23 21:34:08 +0100
commitfdf09a63851cf51dc4c07a65e5fbc82c2d56512c (patch)
treea44d6aa041328d2a947d6fd74a68ff20f424ed49 /engines/lab/interface.cpp
parent361aab82dc22e391b333daa0cf7ffc56850f9450 (diff)
downloadscummvm-rg350-fdf09a63851cf51dc4c07a65e5fbc82c2d56512c.tar.gz
scummvm-rg350-fdf09a63851cf51dc4c07a65e5fbc82c2d56512c.tar.bz2
scummvm-rg350-fdf09a63851cf51dc4c07a65e5fbc82c2d56512c.zip
LAB: Some simplification of the mouse handling code
Diffstat (limited to 'engines/lab/interface.cpp')
-rw-r--r--engines/lab/interface.cpp27
1 files changed, 9 insertions, 18 deletions
diff --git a/engines/lab/interface.cpp b/engines/lab/interface.cpp
index fd47fc7852..afaec28db3 100644
--- a/engines/lab/interface.cpp
+++ b/engines/lab/interface.cpp
@@ -120,14 +120,9 @@ Button *EventManager::checkNumButtonHit(ButtonList *buttonList, uint16 key) {
if (((gkey - 1 == button->_buttonId) || ((gkey == 0) && (button->_buttonId == 9))
|| ((button->_keyEquiv != 0) && (makeButtonKeyEquiv(key) == button->_keyEquiv)))
&& button->_isEnabled) {
- mouseHide();
button->_altImage->drawImage(button->_x, button->_y);
- mouseShow();
g_system->delayMillis(80);
- mouseHide();
button->_image->drawImage(button->_x, button->_y);
- mouseShow();
-
return button;
}
}
@@ -140,35 +135,31 @@ IntuiMessage *EventManager::getMsg() {
updateMouse();
- int qualifiers = _keyPressed.flags;
- Button *curButton = _lastButtonHit;
- _lastButtonHit = nullptr;
-
- if (curButton) {
+ if (_lastButtonHit) {
updateMouse();
message._msgClass = BUTTONUP;
- message._code = curButton->_buttonId;
- message._buttonId = curButton->_buttonId;
- message._qualifier = qualifiers;
+ message._code = _lastButtonHit->_buttonId;
+ message._buttonId = _lastButtonHit->_buttonId;
+ message._qualifier = _keyPressed.flags;
+ _lastButtonHit = nullptr;
return &message;
} else if (_leftClick || _rightClick) {
- message._qualifier = (_leftClick) ? (IEQUALIFIER_LEFTBUTTON | qualifiers) : (IEQUALIFIER_RIGHTBUTTON | qualifiers);
+ message._qualifier = (_leftClick) ? IEQUALIFIER_LEFTBUTTON : IEQUALIFIER_RIGHTBUTTON;
message._msgClass = MOUSEBUTTONS;
message._mouseX = (!_vm->_isHiRes) ? (uint16)_mousePos.x / 2 : (uint16)_mousePos.x;
message._mouseY = (uint16)_mousePos.y;
_leftClick = _rightClick = false;
return &message;
} else if (keyPress(&message._code)) {
- curButton = checkNumButtonHit(_screenButtonList, message._code);
+ Button *curButton = checkNumButtonHit(_screenButtonList, message._code);
if (curButton) {
message._msgClass = BUTTONUP;
- message._code = curButton->_buttonId;
- message._buttonId = curButton->_buttonId;
+ message._code = message._buttonId = curButton->_buttonId;
} else
message._msgClass = RAWKEY;
- message._qualifier = qualifiers;
+ message._qualifier = _keyPressed.flags;
return &message;
} else
return nullptr;