[Scummvm-cvs-logs] SF.net SVN: scummvm: [26348] scummvm/trunk/engines/touche/ui.cpp
eriktorbjorn at users.sourceforge.net
eriktorbjorn at users.sourceforge.net
Sun Apr 1 16:05:50 CEST 2007
Revision: 26348
http://scummvm.svn.sourceforge.net/scummvm/?rev=26348&view=rev
Author: eriktorbjorn
Date: 2007-04-01 07:05:50 -0700 (Sun, 01 Apr 2007)
Log Message:
-----------
Call updateScreen() more often in options/save/load dialog to keep mouse
movement smoother. And since this is potentially wasteful, only redraw the
entire dialog when it seems likely that it may have changed.
Modified Paths:
--------------
scummvm/trunk/engines/touche/ui.cpp
Modified: scummvm/trunk/engines/touche/ui.cpp
===================================================================
--- scummvm/trunk/engines/touche/ui.cpp 2007-04-01 14:04:45 UTC (rev 26347)
+++ scummvm/trunk/engines/touche/ui.cpp 2007-04-01 14:05:50 UTC (rev 26348)
@@ -360,8 +360,10 @@
menuData.exit = false;
menuData.mode = kMenuSettingsMode;
int curMode = -1;
+ bool doRedraw = false;
while (!menuData.quit) {
if (menuData.mode != curMode) {
+ doRedraw = true;
setupMenu(menuData.mode, &menuData);
curMode = menuData.mode;
if (menuData.mode == kMenuLoadStateMode || menuData.mode == kMenuSaveStateMode) {
@@ -376,7 +378,6 @@
}
}
}
- redrawMenu(&menuData);
Common::Event event;
Common::EventManager *eventMan = _system->getEventManager();
while (eventMan->pollEvent(event)) {
@@ -391,6 +392,7 @@
button = menuData.findButtonUnderCursor(event.mouse.x, event.mouse.y);
if (button) {
handleMenuAction(&menuData, button->action);
+ doRedraw = true;
}
break;
case Common::EVENT_KEYDOWN:
@@ -400,21 +402,28 @@
} else {
menuData.addCharToDescription(_saveLoadCurrentSlot, (char)event.kbd.ascii);
}
+ doRedraw = true;
}
break;
case Common::EVENT_WHEELUP:
handleMenuAction(&menuData, kActionScrollUpSaves);
+ doRedraw = true;
break;
case Common::EVENT_WHEELDOWN:
handleMenuAction(&menuData, kActionScrollDownSaves);
+ doRedraw = true;
break;
default:
break;
}
}
- updateScreenArea(90, 102, 460, 196);
+ if (doRedraw) {
+ redrawMenu(&menuData);
+ updateScreenArea(90, 102, 460, 196);
+ doRedraw = false;
+ }
_system->updateScreen();
- _system->delayMillis(50);
+ _system->delayMillis(10);
}
_fullRedrawCounter = 2;
if (!menuData.exit && _flagsTable[611] != 0) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list