aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/interface.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2008-12-07 18:49:35 +0000
committerFilippos Karapetis2008-12-07 18:49:35 +0000
commit78fd335a4260a16664083fbf3333b8fba52e75ea (patch)
tree49fbddacfc7a9a97eb984451da285d58b0ac5f97 /engines/saga/interface.cpp
parentc2424b04a5964e4763a7d7c123317dec925c8214 (diff)
downloadscummvm-rg350-78fd335a4260a16664083fbf3333b8fba52e75ea.tar.gz
scummvm-rg350-78fd335a4260a16664083fbf3333b8fba52e75ea.tar.bz2
scummvm-rg350-78fd335a4260a16664083fbf3333b8fba52e75ea.zip
More dirty rectangle related changes (dirty rectangle handling is still broken)
svn-id: r35281
Diffstat (limited to 'engines/saga/interface.cpp')
-rw-r--r--engines/saga/interface.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp
index e18e1654a0..30b5b5fcaa 100644
--- a/engines/saga/interface.cpp
+++ b/engines/saga/interface.cpp
@@ -2186,11 +2186,14 @@ void Interface::drawButtonBox(const Rect& rect, ButtonKind kind, bool down) {
int xe = rect.right - 1;
int ye = rect.bottom - 1;
- _vm->_gfx->drawRect(Common::Rect(x, y, x + w, y + h), frameColor);
_vm->_gfx->setPixelColor(x, y, cornerColor);
_vm->_gfx->setPixelColor(x, ye, cornerColor);
_vm->_gfx->setPixelColor(xe, y, cornerColor);
_vm->_gfx->setPixelColor(xe, ye, cornerColor);
+ _vm->_gfx->hLine(x + 1, y, x + w - 2, frameColor);
+ _vm->_gfx->hLine(x + 1, ye, x + w - 2, frameColor);
+ _vm->_gfx->vLine(x, y + 1, y + h - 2, frameColor);
+ _vm->_gfx->vLine(xe, y + 1, y + h - 2, frameColor);
x++;
y++;
@@ -2198,7 +2201,6 @@ void Interface::drawButtonBox(const Rect& rect, ButtonKind kind, bool down) {
ye--;
w -= 2;
h -= 2;
- // drawRect() above added a dirty rectangle automatically for these
_vm->_gfx->vLine(x, y, y + h - 1, odl);
_vm->_gfx->hLine(x, ye, x + w - 1, odl);
_vm->_gfx->vLine(xe, y, y + h - 2, our);
@@ -2210,7 +2212,6 @@ void Interface::drawButtonBox(const Rect& rect, ButtonKind kind, bool down) {
ye--;
w -= 2;
h -= 2;
- // drawRect() above added a dirty rectangle automatically for these
_vm->_gfx->setPixelColor(x, y, fillColor);
_vm->_gfx->setPixelColor(xe, ye, fillColor);
_vm->_gfx->vLine(x, y + 1, y + 1 + h - 2, idl);
@@ -2223,6 +2224,7 @@ void Interface::drawButtonBox(const Rect& rect, ButtonKind kind, bool down) {
Common::Rect fill(x, y, x + w, y + h);
_vm->_gfx->fillRect(fill, solidColor);
+ _vm->_render->addDirtyRect(rect);
}
static const int readingSpeeds[] = { kTextClick, kTextSlow, kTextMid, kTextFast };