diff options
author | Martin Kiewitz | 2009-10-09 17:47:33 +0000 |
---|---|---|
committer | Martin Kiewitz | 2009-10-09 17:47:33 +0000 |
commit | 01dc7545d2b8dcd70bab1ecdcb26d2d0c9b71f17 (patch) | |
tree | a42dccb7f7922e76da9d820d21bc83f5c9fdba9f | |
parent | 14f8d50a62f400bd79459c202d14938c37285ac6 (diff) | |
download | scummvm-rg350-01dc7545d2b8dcd70bab1ecdcb26d2d0c9b71f17.tar.gz scummvm-rg350-01dc7545d2b8dcd70bab1ecdcb26d2d0c9b71f17.tar.bz2 scummvm-rg350-01dc7545d2b8dcd70bab1ecdcb26d2d0c9b71f17.zip |
SCI: drawMenuBar/clearMenuBar now using gui class, currently unimplemented in newgui, but so wont get affected by oldgui switching to visualScreen anymore (e.g. qfg2)
svn-id: r44837
-rw-r--r-- | engines/sci/engine/kmenu.cpp | 8 | ||||
-rw-r--r-- | engines/sci/gui/gui.cpp | 8 | ||||
-rw-r--r-- | engines/sci/gui/gui.h | 2 | ||||
-rw-r--r-- | engines/sci/gui32/gui32.cpp | 12 | ||||
-rw-r--r-- | engines/sci/gui32/gui32.h | 2 |
5 files changed, 26 insertions, 6 deletions
diff --git a/engines/sci/engine/kmenu.cpp b/engines/sci/engine/kmenu.cpp index bde0f9e4cf..4c71796d6a 100644 --- a/engines/sci/engine/kmenu.cpp +++ b/engines/sci/engine/kmenu.cpp @@ -83,13 +83,9 @@ reg_t kDrawStatus(EngineState *s, int argc, reg_t *argv) { reg_t kDrawMenuBar(EngineState *s, int argc, reg_t *argv) { if (argv[0].toSint16()) - sciw_set_menubar(s, s->titlebar_port, s->_menubar, -1); + s->_gui->drawMenuBar(); else - sciw_set_status_bar(s, s->titlebar_port, "", 0, 0); - - s->titlebar_port->draw(Common::Point(0, 0)); - gfxop_update(s->gfx_state); - + s->_gui->clearMenuBar(); return s->r_acc; } diff --git a/engines/sci/gui/gui.cpp b/engines/sci/gui/gui.cpp index 45145c5958..a35be7274a 100644 --- a/engines/sci/gui/gui.cpp +++ b/engines/sci/gui/gui.cpp @@ -259,6 +259,14 @@ void SciGui::drawStatus(const char *text, int16 colorPen, int16 colorBack) { _screen->copyToScreen(); } +void SciGui::drawMenuBar() { + // TODO: Implement menubar +} + +void SciGui::clearMenuBar() { + // TODO: Implement menubar +} + void SciGui::drawPicture(GuiResourceId pictureId, int16 animationNr, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo) { GuiPort *oldPort = _gfx->SetPort((GuiPort *)_windowMgr->_picWind); diff --git a/engines/sci/gui/gui.h b/engines/sci/gui/gui.h index 47a038a8b3..427ce01cf0 100644 --- a/engines/sci/gui/gui.h +++ b/engines/sci/gui/gui.h @@ -64,6 +64,8 @@ public: virtual void textColors(int argc, reg_t *argv); virtual void drawStatus(const char *text, int16 colorPen, int16 colorBack); + virtual void drawMenuBar(); + virtual void clearMenuBar(); virtual void drawPicture(GuiResourceId pictureId, int16 animationNr, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo); virtual void drawCel(GuiResourceId viewId, GuiViewLoopNo loopNo, GuiViewCelNo celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo); virtual void drawControlButton(Common::Rect rect, reg_t obj, const char *text, int16 fontId, int16 style, bool hilite); diff --git a/engines/sci/gui32/gui32.cpp b/engines/sci/gui32/gui32.cpp index 05627fa79c..1bcff2cc49 100644 --- a/engines/sci/gui32/gui32.cpp +++ b/engines/sci/gui32/gui32.cpp @@ -505,6 +505,18 @@ void SciGui32::drawStatus(const char *text, int16 colorPen, int16 colorBack) { gfxop_update(s->gfx_state); } +void SciGui32::drawMenuBar() { + sciw_set_menubar(s, s->titlebar_port, s->_menubar, -1); + s->titlebar_port->draw(Common::Point(0, 0)); + gfxop_update(s->gfx_state); +} + +void SciGui32::clearMenuBar() { + sciw_set_status_bar(s, s->titlebar_port, "", 0, 0); + s->titlebar_port->draw(Common::Point(0, 0)); + gfxop_update(s->gfx_state); +} + void SciGui32::drawPicture(GuiResourceId pictureId, int16 animationNr, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo) { drawn_pic_t dp; gfx_color_t transparent = s->wm_port->_bgcolor; diff --git a/engines/sci/gui32/gui32.h b/engines/sci/gui32/gui32.h index 67e3de9024..01e6e2d73b 100644 --- a/engines/sci/gui32/gui32.h +++ b/engines/sci/gui32/gui32.h @@ -56,6 +56,8 @@ public: void textColors(int argc, reg_t *argv); void drawStatus(const char *text, int16 colorPen, int16 colorBack); + void drawMenuBar(); + void clearMenuBar(); void drawPicture(GuiResourceId pictureId, int16 animationNr, bool mirroredFlag, bool addToFlag, int16 EGApaletteNo); void drawCel(GuiResourceId viewId, GuiViewLoopNo loopNo, GuiViewCelNo celNo, uint16 leftPos, uint16 topPos, int16 priority, uint16 paletteNo); void drawControlButton(Common::Rect rect, reg_t obj, const char *text, int16 fontId, int16 style, bool hilite); |