aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/gui/gui_windowmgr.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/gui/gui_windowmgr.cpp b/engines/sci/gui/gui_windowmgr.cpp
index 46ead18fda..0092e878e7 100644
--- a/engines/sci/gui/gui_windowmgr.cpp
+++ b/engines/sci/gui/gui_windowmgr.cpp
@@ -191,6 +191,12 @@ void SciGuiWindowMgr::DrawWindow(GuiWindow *pWnd) {
GuiPort *oldport = _gfx->SetPort(_wmgrPort);
_gfx->PenColor(0);
if ((wndStyle & kTransparent) == 0) {
+ // Store the shadow, if it exists
+ if ((wndStyle & kUser) == 0) {
+ pWnd->restoreRect.bottom++;
+ pWnd->restoreRect.right++;
+ }
+
pWnd->hSaved1 = _gfx->SaveBits(pWnd->restoreRect, 1);
if (pWnd->uSaveFlag & 2) {
pWnd->hSaved2 = _gfx->SaveBits(pWnd->restoreRect, 2);
@@ -207,6 +213,7 @@ void SciGuiWindowMgr::DrawWindow(GuiWindow *pWnd) {
_gfx->FrameRect(r);// shadow
r.translate(-1, -1);
_gfx->FrameRect(r);// window frame
+
if (wndStyle & kTitle) {
_gfx->FrameRect(r);
r.grow(-1);
@@ -227,6 +234,7 @@ void SciGuiWindowMgr::DrawWindow(GuiWindow *pWnd) {
if ((wndStyle & kTransparent) == 0)
_gfx->FillRect(r, 1, pWnd->backClr);
+
_gfx->ShowBits(pWnd->dims, 1);
}
_gfx->SetPort(oldport);