diff options
author | Matthew Hoops | 2012-06-16 01:37:40 -0400 |
---|---|---|
committer | Matthew Hoops | 2012-06-16 01:43:32 -0400 |
commit | 625f6cc71657e95e0361edefa333a38910c1aca5 (patch) | |
tree | ae5ef8582ede4d62e56253467ea144db2341b353 /engines/gob/surface.cpp | |
parent | f02b696573fe4281e4890d71b74671804a5ebf41 (diff) | |
parent | 5230a0d61795e2855625a43d60dc3bc2ed83fc3d (diff) | |
download | scummvm-rg350-625f6cc71657e95e0361edefa333a38910c1aca5.tar.gz scummvm-rg350-625f6cc71657e95e0361edefa333a38910c1aca5.tar.bz2 scummvm-rg350-625f6cc71657e95e0361edefa333a38910c1aca5.zip |
Merge remote branch 'upstream/master' into pegasus
Diffstat (limited to 'engines/gob/surface.cpp')
-rw-r--r-- | engines/gob/surface.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/gob/surface.cpp b/engines/gob/surface.cpp index e294209ed7..3af19f891d 100644 --- a/engines/gob/surface.cpp +++ b/engines/gob/surface.cpp @@ -280,6 +280,18 @@ Surface::Surface(uint16 width, uint16 height, uint8 bpp, byte *vidMem) : _ownVidMem = false; } +Surface::Surface(uint16 width, uint16 height, uint8 bpp, const byte *vidMem) : + _width(width), _height(height), _bpp(bpp), _vidMem(0) { + + assert((_width > 0) && (_height > 0)); + assert((_bpp == 1) || (_bpp == 2)); + + _vidMem = new byte[_bpp * _width * _height]; + _ownVidMem = true; + + memcpy(_vidMem, vidMem, _bpp * _width * _height); +} + Surface::~Surface() { if (_ownVidMem) delete[] _vidMem; |