diff options
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/font.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/graphics/font.cpp b/graphics/font.cpp index d709758948..4214b3f41b 100644 --- a/graphics/font.cpp +++ b/graphics/font.cpp @@ -276,12 +276,16 @@ void Font::drawString(Surface *dst, const Common::U32String &str, int x, int y, void Font::drawString(ManagedSurface *dst, const Common::String &str, int x, int y, int w, uint32 color, TextAlign align, int deltax, bool useEllipsis) const { drawString(&dst->_innerSurface, str, x, y, w, color, align, deltax, useEllipsis); - dst->addDirtyRect(Common::Rect(x, y, x + w, y + getFontHeight())); + if (w != 0) { + dst->addDirtyRect(getBoundingBox(str, x, y, w, align)); + } } void Font::drawString(ManagedSurface *dst, const Common::U32String &str, int x, int y, int w, uint32 color, TextAlign align) const { drawString(&dst->_innerSurface, str, x, y, w, color, align); - dst->addDirtyRect(Common::Rect(x, y, x + w, y + getFontHeight())); + if (w != 0) { + dst->addDirtyRect(getBoundingBox(str, x, y, w, align)); + } } int Font::wordWrapText(const Common::String &str, int maxWidth, Common::Array<Common::String> &lines) const { |