aboutsummaryrefslogtreecommitdiff
path: root/engines/wage/macwindowmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/wage/macwindowmanager.cpp')
-rw-r--r--engines/wage/macwindowmanager.cpp25
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