mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-05 09:49:14 +00:00
ZVISION: Now onMouse functions handle return results and processing control list from end to beginning
This commit is contained in:
parent
468c44581f
commit
677c74d59f
@ -392,28 +392,31 @@ void ScriptManager::killSideFxType(SideFX::SideFXType type) {
|
||||
void ScriptManager::onMouseDown(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) {
|
||||
if (!_activeControls)
|
||||
return;
|
||||
for (ControlList::iterator iter = _activeControls->begin(); iter != _activeControls->end(); ++iter) {
|
||||
(*iter)->onMouseDown(screenSpacePos, backgroundImageSpacePos);
|
||||
for (ControlList::iterator iter = _activeControls->reverse_begin(); iter != _activeControls->end(); iter--) {
|
||||
if ((*iter)->onMouseDown(screenSpacePos, backgroundImageSpacePos))
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void ScriptManager::onMouseUp(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) {
|
||||
if (!_activeControls)
|
||||
return;
|
||||
for (ControlList::iterator iter = _activeControls->begin(); iter != _activeControls->end(); ++iter) {
|
||||
(*iter)->onMouseUp(screenSpacePos, backgroundImageSpacePos);
|
||||
for (ControlList::iterator iter = _activeControls->reverse_begin(); iter != _activeControls->end(); iter--) {
|
||||
if ((*iter)->onMouseUp(screenSpacePos, backgroundImageSpacePos))
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
bool ScriptManager::onMouseMove(const Common::Point &screenSpacePos, const Common::Point &backgroundImageSpacePos) {
|
||||
if (!_activeControls)
|
||||
return false;
|
||||
bool cursorWasChanged = false;
|
||||
for (ControlList::iterator iter = _activeControls->begin(); iter != _activeControls->end(); ++iter) {
|
||||
cursorWasChanged = cursorWasChanged || (*iter)->onMouseMove(screenSpacePos, backgroundImageSpacePos);
|
||||
|
||||
for (ControlList::iterator iter = _activeControls->reverse_begin(); iter != _activeControls->end(); iter--) {
|
||||
if ((*iter)->onMouseMove(screenSpacePos, backgroundImageSpacePos))
|
||||
return true;
|
||||
}
|
||||
|
||||
return cursorWasChanged;
|
||||
return false;
|
||||
}
|
||||
|
||||
void ScriptManager::onKeyDown(Common::KeyState keyState) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user