aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorSven Hesse2010-08-08 00:38:26 +0000
committerSven Hesse2010-08-08 00:38:26 +0000
commit12c9e895b559d1ca2780b5b8f156b0451eb11f11 (patch)
treeff02282ada6558e80be9d1eab7768571c680040f /engines
parent9255d2e2179ee6a2cd63b6d8f521e3b9d8543be6 (diff)
downloadscummvm-rg350-12c9e895b559d1ca2780b5b8f156b0451eb11f11.tar.gz
scummvm-rg350-12c9e895b559d1ca2780b5b8f156b0451eb11f11.tar.bz2
scummvm-rg350-12c9e895b559d1ca2780b5b8f156b0451eb11f11.zip
VIDEO/GOB: Add CoktelDecoder::setXY()
This allows for positioning the video within the video memory. svn-id: r51858
Diffstat (limited to 'engines')
-rw-r--r--engines/gob/videoplayer.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp
index 715d5cfb9a..d126d0e963 100644
--- a/engines/gob/videoplayer.cpp
+++ b/engines/gob/videoplayer.cpp
@@ -137,23 +137,29 @@ int VideoPlayer::openVideo(bool primary, const Common::String &file, Properties
properties.sprite = -1;
video->surface.reset();
video->decoder->setSurfaceMemory();
+ video->decoder->setXY(0, 0);
} else {
video->surface = _vm->_draw->_spritesArray[properties.sprite];
video->decoder->setSurfaceMemory(video->surface->getVidMem(),
video->surface->getWidth(), video->surface->getHeight(), 1);
+
+ if (!ownSurf || (ownSurf && screenSize))
+ video->decoder->setXY(properties.x, properties.y);
+ else
+ video->decoder->setXY(0, 0);
}
} else {
properties.sprite = -1;
video->surface.reset();
video->decoder->setSurfaceMemory();
+ video->decoder->setXY(0, 0);
}
if (primary)
_needBlit = (properties.flags & kFlagUseBackSurfaceContent) && (properties.sprite == Draw::kFrontSurface);
// video->decoder->setFrameRate(_vm->_util->getFrameRate());
- // video->decoder->setXY(x, y);
WRITE_VAR(7, video->decoder->getFrameCount());
@@ -306,14 +312,18 @@ bool VideoPlayer::playFrame(int slot, Properties &properties) {
if (properties.sprite == Draw::kBackSurface) {
- _vm->_draw->invalidateRect(0, 0, video->decoder->getWidth(), video->decoder->getHeight());
+ _vm->_draw->invalidateRect(properties.x, properties.y,
+ properties.x + video->decoder->getWidth(),
+ properties.y + video->decoder->getHeight());
_vm->_draw->blitInvalidated();
// if (!noRetrace)
_vm->_video->retrace();
} else if (properties.sprite == Draw::kFrontSurface) {
- _vm->_video->dirtyRectsAdd(0, 0, video->decoder->getWidth(), video->decoder->getHeight());
+ _vm->_video->dirtyRectsAdd(properties.x, properties.y,
+ properties.x + video->decoder->getWidth(),
+ properties.y + video->decoder->getHeight());
// if (!noRetrace)
_vm->_video->retrace();