diff options
author | Max Horn | 2005-03-12 15:29:16 +0000 |
---|---|---|
committer | Max Horn | 2005-03-12 15:29:16 +0000 |
commit | 1fde0d90f4d5ebc149584ad04513c9590db46b4d (patch) | |
tree | 208922de407abf849a17b7d5ea34a40a46e99309 /gui/newgui.cpp | |
parent | bf984cb7f0fdd3397db2dafdd93c163536d92bae (diff) | |
download | scummvm-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.cpp | 14 |
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(); |