diff options
Diffstat (limited to 'engines/access/font.cpp')
-rw-r--r-- | engines/access/font.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/engines/access/font.cpp b/engines/access/font.cpp index 8af183f193..8e02f80769 100644 --- a/engines/access/font.cpp +++ b/engines/access/font.cpp @@ -139,7 +139,7 @@ bool Font::getLine(Common::String &s, int maxWidth, Common::String &line, int &w return true; } -void Font::drawString(ASurface *s, const Common::String &msg, const Common::Point &pt) { +void Font::drawString(BaseSurface *s, const Common::String &msg, const Common::Point &pt) { Common::Point currPt = pt; const char *msgP = msg.c_str(); @@ -149,15 +149,14 @@ void Font::drawString(ASurface *s, const Common::String &msg, const Common::Poin } } -int Font::drawChar(ASurface *s, char c, Common::Point &pt) { +int Font::drawChar(BaseSurface *s, char c, Common::Point &pt) { Graphics::Surface &ch = _chars[c - ' ']; - - s->addDirtyRect(Common::Rect(pt.x, pt.y, pt.x + ch.w, pt.y + ch.h)); + Graphics::Surface dest = s->getSubArea(Common::Rect(pt.x, pt.y, pt.x + ch.w, pt.y + ch.h)); // Loop through the lines of the character for (int y = 0; y < ch.h; ++y) { byte *pSrc = (byte *)ch.getBasePtr(0, y); - byte *pDest = (byte *)s->getBasePtr(pt.x, pt.y + y); + byte *pDest = (byte *)dest.getBasePtr(0, y); // Loop through the horizontal pixels of the line for (int x = 0; x < ch.w; ++x, ++pSrc, ++pDest) { |