aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2014-12-14 15:22:09 -0500
committerPaul Gilbert2014-12-14 15:22:09 -0500
commitfda4ef620f3eefc76d7362945d514e6c46187073 (patch)
tree3c41c678cdd4711f9fd15933d6306e41e5e5ba7c /engines
parent924f2abdf40a97966fff991d7cb0db842212a567 (diff)
downloadscummvm-rg350-fda4ef620f3eefc76d7362945d514e6c46187073.tar.gz
scummvm-rg350-fda4ef620f3eefc76d7362945d514e6c46187073.tar.bz2
scummvm-rg350-fda4ef620f3eefc76d7362945d514e6c46187073.zip
ACCESS: Add dirty rect handling for font display
Diffstat (limited to 'engines')
-rw-r--r--engines/access/asurface.h2
-rw-r--r--engines/access/font.cpp2
-rw-r--r--engines/access/screen.h4
3 files changed, 6 insertions, 2 deletions
diff --git a/engines/access/asurface.h b/engines/access/asurface.h
index db17eb2089..139565190b 100644
--- a/engines/access/asurface.h
+++ b/engines/access/asurface.h
@@ -105,6 +105,8 @@ public:
virtual void copyBuffer(Graphics::Surface *src);
+ virtual void addDirtyRect(const Common::Rect &r) {}
+
void copyTo(ASurface *dest) { dest->copyFrom(*this); }
void saveBlock(const Common::Rect &bounds);
diff --git a/engines/access/font.cpp b/engines/access/font.cpp
index 51fb9dc1c8..1aadfb6be2 100644
--- a/engines/access/font.cpp
+++ b/engines/access/font.cpp
@@ -150,6 +150,8 @@ void Font::drawString(ASurface *s, const Common::String &msg, const Common::Poin
int Font::drawChar(ASurface *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));
+
// Loop through the lines of the character
for (int y = 0; y < ch.h; ++y) {
byte *pSrc = (byte *)ch.getBasePtr(0, y);
diff --git a/engines/access/screen.h b/engines/access/screen.h
index 56ee9bed20..7134afffeb 100644
--- a/engines/access/screen.h
+++ b/engines/access/screen.h
@@ -96,6 +96,8 @@ public:
virtual void copyFrom(Graphics::Surface &src);
virtual void copyBuffer(Graphics::Surface *src);
+
+ virtual void addDirtyRect(const Common::Rect &r);
public:
Screen(AccessEngine *vm);
@@ -170,8 +172,6 @@ public:
void cyclePaletteForward();
void cyclePaletteBackwards();
-
- void addDirtyRect(const Common::Rect &r);
};
} // End of namespace Access