diff options
author | Nicola Mettifogo | 2008-01-04 21:24:51 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2008-01-04 21:24:51 +0000 |
commit | 3e04d8b2154b59acc6075055c2ea085795826531 (patch) | |
tree | 815dc090b86131feb85bc2110d3570d3722e24f7 /engines/parallaction/graphics.cpp | |
parent | 3451d1c30f579be0fa90cbdd51ec624043346b31 (diff) | |
download | scummvm-rg350-3e04d8b2154b59acc6075055c2ea085795826531.tar.gz scummvm-rg350-3e04d8b2154b59acc6075055c2ea085795826531.tar.bz2 scummvm-rg350-3e04d8b2154b59acc6075055c2ea085795826531.zip |
Fix for bug# 1729307. Fonts are now displayed with shadows when needed on Amiga. The correct font for intro screen has also been selected.
svn-id: r30221
Diffstat (limited to 'engines/parallaction/graphics.cpp')
-rw-r--r-- | engines/parallaction/graphics.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/engines/parallaction/graphics.cpp b/engines/parallaction/graphics.cpp index 5b1c292ead..81922dd185 100644 --- a/engines/parallaction/graphics.cpp +++ b/engines/parallaction/graphics.cpp @@ -688,6 +688,13 @@ void Gfx::restoreGetBackground(const Common::Rect& r, byte *data) { void Gfx::displayString(uint16 x, uint16 y, const char *text, byte color) { byte *dst = (byte*)_buffers[kBitFront]->getBasePtr(x, y); + if (_fontShadow) { + dst = (byte*)_buffers[kBitFront]->getBasePtr(x-2, y+2); + _font->setColor(0); + _font->drawString(dst, _vm->_screenWidth, text); + } + + dst = (byte*)_buffers[kBitFront]->getBasePtr(x, y); _font->setColor(color); _font->drawString(dst, _vm->_screenWidth, text); } @@ -799,8 +806,12 @@ void Gfx::getStringExtent(char *text, uint16 maxwidth, int16* width, int16* heig void Gfx::setFont(Font *font) { assert(font); _font = font; + setFontShadow(false); } +void Gfx::setFontShadow(bool enable) { + _fontShadow = enable && (_vm->getPlatform() == Common::kPlatformAmiga); +} void Gfx::restoreBackground(const Common::Rect& r) { @@ -907,6 +918,7 @@ Gfx::Gfx(Parallaction* vm) : _hbCircleRadius = 0; _font = NULL; + _fontShadow = false; return; } |