aboutsummaryrefslogtreecommitdiff
path: root/gui/newgui.cpp
diff options
context:
space:
mode:
authorMax Horn2005-03-12 15:29:16 +0000
committerMax Horn2005-03-12 15:29:16 +0000
commit1fde0d90f4d5ebc149584ad04513c9590db46b4d (patch)
tree208922de407abf849a17b7d5ea34a40a46e99309 /gui/newgui.cpp
parentbf984cb7f0fdd3397db2dafdd93c163536d92bae (diff)
downloadscummvm-rg350-1fde0d90f4d5ebc149584ad04513c9590db46b4d.tar.gz
scummvm-rg350-1fde0d90f4d5ebc149584ad04513c9590db46b4d.tar.bz2
scummvm-rg350-1fde0d90f4d5ebc149584ad04513c9590db46b4d.zip
Fix popup widget in scaled GUI mode
svn-id: r17099
Diffstat (limited to 'gui/newgui.cpp')
-rw-r--r--gui/newgui.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/gui/newgui.cpp b/gui/newgui.cpp
index 74753584b6..9b9ff8f3bd 100644
--- a/gui/newgui.cpp
+++ b/gui/newgui.cpp
@@ -132,6 +132,10 @@ void NewGui::runLoop() {
uint32 time = _system->getMillis();
while (_system->pollEvent(event)) {
+ Common::Point mouse(event.mouse.x - (activeDialog->_x * _scaleFactor), event.mouse.y - (activeDialog->_y * _scaleFactor));
+ mouse.x /= _scaleFactor;
+ mouse.y /= _scaleFactor;
+
switch (event.type) {
case OSystem::EVENT_KEYDOWN:
#if !defined(__PALM_OS__)
@@ -151,7 +155,7 @@ void NewGui::runLoop() {
_currentKeyDown.keycode = 0;
break;
case OSystem::EVENT_MOUSEMOVE:
- activeDialog->handleMouseMoved(event.mouse.x - (activeDialog->_x * _scaleFactor), event.mouse.y - (activeDialog->_y * _scaleFactor), 0);
+ activeDialog->handleMouseMoved(mouse.x, mouse.y, 0);
break;
// We don't distinguish between mousebuttons (for now at least)
case OSystem::EVENT_LBUTTONDOWN:
@@ -167,18 +171,18 @@ void NewGui::runLoop() {
_lastClick.count = 1;
}
_lastClick.time = time;
- activeDialog->handleMouseDown(event.mouse.x - (activeDialog->_x * _scaleFactor), event.mouse.y - (activeDialog->_y * _scaleFactor), button, _lastClick.count);
+ activeDialog->handleMouseDown(mouse.x, mouse.y, button, _lastClick.count);
break;
case OSystem::EVENT_LBUTTONUP:
case OSystem::EVENT_RBUTTONUP:
button = (event.type == OSystem::EVENT_LBUTTONUP ? 1 : 2);
- activeDialog->handleMouseUp(event.mouse.x - (activeDialog->_x * _scaleFactor), event.mouse.y - (activeDialog->_y * _scaleFactor), button, _lastClick.count);
+ activeDialog->handleMouseUp(mouse.x, mouse.y, button, _lastClick.count);
break;
case OSystem::EVENT_WHEELUP:
- activeDialog->handleMouseWheel(event.mouse.x - (activeDialog->_x * _scaleFactor), event.mouse.y - (activeDialog->_y * _scaleFactor), -1);
+ activeDialog->handleMouseWheel(mouse.x, mouse.y, -1);
break;
case OSystem::EVENT_WHEELDOWN:
- activeDialog->handleMouseWheel(event.mouse.x - (activeDialog->_x * _scaleFactor), event.mouse.y - (activeDialog->_y * _scaleFactor), 1);
+ activeDialog->handleMouseWheel(mouse.x, mouse.y, 1);
break;
case OSystem::EVENT_QUIT:
_system->quit();