diff options
author | Filippos Karapetis | 2015-12-18 00:20:17 +0200 |
---|---|---|
committer | Willem Jan Palenstijn | 2015-12-23 21:34:08 +0100 |
commit | fdf09a63851cf51dc4c07a65e5fbc82c2d56512c (patch) | |
tree | a44d6aa041328d2a947d6fd74a68ff20f424ed49 /engines/lab/interface.cpp | |
parent | 361aab82dc22e391b333daa0cf7ffc56850f9450 (diff) | |
download | scummvm-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.cpp | 27 |
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; |