diff options
author | Filippos Karapetis | 2009-01-05 17:05:50 +0000 |
---|---|---|
committer | Filippos Karapetis | 2009-01-05 17:05:50 +0000 |
commit | 70ab22e9f2d37e8bdc2d64743676668bb87c8f9f (patch) | |
tree | 288ae4ef4ba43ac10e8e90c4a86ad8bb5481e706 /graphics/video | |
parent | 7f9ea7e35c907d44ce84e990b1b3258e214fac91 (diff) | |
download | scummvm-rg350-70ab22e9f2d37e8bdc2d64743676668bb87c8f9f.tar.gz scummvm-rg350-70ab22e9f2d37e8bdc2d64743676668bb87c8f9f.tar.bz2 scummvm-rg350-70ab22e9f2d37e8bdc2d64743676668bb87c8f9f.zip |
Added a copyFrameToBuffer() method to the FLIC player too, like in the other players
svn-id: r35742
Diffstat (limited to 'graphics/video')
-rw-r--r-- | graphics/video/flic_player.cpp | 14 | ||||
-rw-r--r-- | graphics/video/flic_player.h | 11 |
2 files changed, 25 insertions, 0 deletions
diff --git a/graphics/video/flic_player.cpp b/graphics/video/flic_player.cpp index e07c815390..42d063f9ff 100644 --- a/graphics/video/flic_player.cpp +++ b/graphics/video/flic_player.cpp @@ -273,4 +273,18 @@ void FlicPlayer::setPalette(uint8 *mem) { } } +void FlicPlayer::copyFrameToBuffer(byte *dst, uint x, uint y, uint pitch) { + uint h = _flicInfo.height; + uint w = _flicInfo.width; + + byte *src = (byte *)_offscreen; + dst += y * pitch + x; + + do { + memcpy(dst, src, w); + dst += pitch; + src += w; + } while (--h); +} + } // End of namespace Graphics diff --git a/graphics/video/flic_player.h b/graphics/video/flic_player.h index c453bf91c5..73d086cbec 100644 --- a/graphics/video/flic_player.h +++ b/graphics/video/flic_player.h @@ -113,7 +113,18 @@ public: void redraw(); void reset(); + /** + * Copy current frame into the specified position of the destination + * buffer. + * @param dst the buffer + * @param x the x position of the buffer + * @param y the y position of the buffer + * @param pitch the pitch of buffer + */ + void copyFrameToBuffer(byte *dst, uint x, uint y, uint pitch); + protected: + ChunkHeader readChunkHeader(); FrameTypeChunkHeader readFrameTypeChunkHeader(ChunkHeader chunkHead); void decodeByteRun(uint8 *data); |