diff options
Diffstat (limited to 'engines/lab/dispman.cpp')
-rw-r--r-- | engines/lab/dispman.cpp | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/engines/lab/dispman.cpp b/engines/lab/dispman.cpp index ead60f7a91..b6ffbf8b2e 100644 --- a/engines/lab/dispman.cpp +++ b/engines/lab/dispman.cpp @@ -146,7 +146,16 @@ Common::String DisplayMan::getLine(TextFont *tf, const char **mainBuffer, uint16 } int DisplayMan::flowText(TextFont *font, int16 spacing, byte penColor, byte backPen, - bool fillBack, bool centerh, bool centerv, bool output, Common::Rect textRect, const char *str) { + bool fillBack, bool centerh, bool centerv, bool output, Common::Rect textRect, const char *str, Image *targetImage) { + + byte *saveDisplayBuffer = _currentDisplayBuffer; + uint32 bytesPerPage = _screenBytesPerPage; + + if (targetImage) { + _currentDisplayBuffer = targetImage->_imageData; + _screenBytesPerPage = (uint32)targetImage->_width * (int32)targetImage->_height; + } + if (fillBack) rectFill(textRect, backPen); @@ -192,24 +201,10 @@ int DisplayMan::flowText(TextFont *font, int16 spacing, byte penColor, byte back len--; - return len; -} - -int DisplayMan::flowTextToMem(Image *destIm, TextFont *font, int16 spacing, byte penColor, - byte backPen, bool fillBack, bool centerh, bool centerv, bool output, Common::Rect textRect, - const char *str) { - byte *saveDisplayBuffer = _currentDisplayBuffer; - uint32 bytesPerPage = _screenBytesPerPage; - - _currentDisplayBuffer = destIm->_imageData; - _screenBytesPerPage = (uint32)destIm->_width * (int32)destIm->_height; - - int res = flowText(font, spacing, penColor, backPen, fillBack, centerh, centerv, output, textRect, str); - _screenBytesPerPage = bytesPerPage; _currentDisplayBuffer = saveDisplayBuffer; - return res; + return len; } void DisplayMan::createBox(uint16 y2) { |