[Scummvm-cvs-logs] SF.net SVN: scummvm:[33209] scummvm/branches/gsoc2008-gui/gui/ThemeRenderer .cpp
Tanoku at users.sourceforge.net
Tanoku at users.sourceforge.net
Tue Jul 22 19:39:30 CEST 2008
Revision: 33209
http://scummvm.svn.sourceforge.net/scummvm/?rev=33209&view=rev
Author: Tanoku
Date: 2008-07-22 17:39:30 +0000 (Tue, 22 Jul 2008)
Log Message:
-----------
Dirty screen handling, round three.
Modified Paths:
--------------
scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp
Modified: scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp 2008-07-22 17:00:11 UTC (rev 33208)
+++ scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp 2008-07-22 17:39:30 UTC (rev 33209)
@@ -592,18 +592,13 @@
if (_dirtyScreen.empty())
return;
- Common::List<Common::Rect>::iterator cur;
- for (Common::List<Common::Rect>::iterator d = _dirtyScreen.begin(); d != _dirtyScreen.end(); ++d) {
- cur = d;
+ Common::List<Common::Rect>::const_iterator i, j;
+ for (i = _dirtyScreen.begin(); i != _dirtyScreen.end(); ++i) {
+ for (j = i; j != _dirtyScreen.end(); ++j)
+ if (j != i && i->intersects(*j))
+ j = _dirtyScreen.reverse_erase(j);
- do {
- ++d;
- if (cur->intersects(*d))
- d = _dirtyScreen.reverse_erase(d);
- } while (d != _dirtyScreen.end());
-
- d = cur;
- _vectorRenderer->copyFrame(_system, *d);
+ _vectorRenderer->copyFrame(_system, *i);
}
_dirtyScreen.clear();
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