aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/engine/kmenu.cpp8
-rw-r--r--engines/sci/gui/gui.cpp8
-rw-r--r--engines/sci/gui/gui.h2
-rw-r--r--engines/sci/gui32/gui32.cpp12
-rw-r--r--engines/sci/gui32/gui32.h2
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);