aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/gfx.cpp
diff options
context:
space:
mode:
authorMax Horn2007-06-19 22:39:59 +0000
committerMax Horn2007-06-19 22:39:59 +0000
commitb51f2f3212ae8a5abbdce4d947ec2d1cad1a0b6f (patch)
tree45a838924ce55038021cd3c3d8760e80ff630f38 /engines/scumm/gfx.cpp
parentab9b9a1bf362e68f5f6a69462ef2b7c146e6e08f (diff)
downloadscummvm-rg350-b51f2f3212ae8a5abbdce4d947ec2d1cad1a0b6f.tar.gz
scummvm-rg350-b51f2f3212ae8a5abbdce4d947ec2d1cad1a0b6f.tar.bz2
scummvm-rg350-b51f2f3212ae8a5abbdce4d947ec2d1cad1a0b6f.zip
Implemented the OSystem framebuffer API, as discussed on scummvm-devel. All changes are just fine, and won't cause any compile problems or regressions, despite the fact that I can't test most of the non-SDL backend changes, at an improbability level of two to the power of two hundred and seventy-six thousand to one against - possibly much higher. Anything you still can't cope with is therefore your own problem. Please relax.
svn-id: r27548
Diffstat (limited to 'engines/scumm/gfx.cpp')
-rw-r--r--engines/scumm/gfx.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index dd7a23d0cf..3547986ce3 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -1146,12 +1146,11 @@ void ScummEngine::moveScreen(int dx, int dy, int height) {
if ((dx == 0 && dy == 0) || height <= 0)
return;
- Graphics::Surface screen;
- assert(_system->grabRawScreen(&screen));
-
- screen.move(dx, dy, height);
- _system->copyRectToScreen((byte *)screen.pixels, screen.pitch, 0, 0, screen.w, screen.h);
- screen.free();
+ Graphics::Surface *screen = _system->lockScreen();
+ if (!screen)
+ return;
+ screen->move(dx, dy, height);
+ _system->unlockScreen();
}
void ScummEngine_v5::clearFlashlight() {