diff options
Diffstat (limited to 'engines/wage/macwindowmanager.cpp')
-rw-r--r-- | engines/wage/macwindowmanager.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/engines/wage/macwindowmanager.cpp b/engines/wage/macwindowmanager.cpp index d33fb3355b..78ca6aded4 100644 --- a/engines/wage/macwindowmanager.cpp +++ b/engines/wage/macwindowmanager.cpp @@ -69,7 +69,7 @@ MacWindowManager::~MacWindowManager() { } int MacWindowManager::add(bool scrollable) { - MacWindow *w = new MacWindow(scrollable); + MacWindow *w = new MacWindow(_lastId, scrollable); _windows.push_back(w); _windowStack.push_back(w); @@ -113,4 +113,27 @@ void MacWindowManager::draw() { _fullRefresh = false; } +bool MacWindowManager::mouseDown(int x, int y) { + for (Common::List<MacWindow *>::const_iterator it = _windowStack.end(); it != _windowStack.begin();) { + it--; + MacWindow *w = *it; + + if (w->getDimensions().contains(x, y)) { + setActive(w->getId()); + + WindowClick click = w->mouseDown(x, y); + + if (click == kBorderInner) { + + } else { + w->setHighlight(click); + } + + return true; + } + } + + return false; +} + } // End of namespace Wage |