diff options
author | Borja Lorente | 2016-06-23 23:21:24 +0200 |
---|---|---|
committer | Borja Lorente | 2016-08-14 18:37:46 +0200 |
commit | ba5ed7fc88a69da782f3df18698837a67a59eb6b (patch) | |
tree | 998728703466844f22fa1ac109efa6315c1572ac /engines/macventure/gui.h | |
parent | ec7eb7cb5bec5174f7fd3446824280ab44050f5e (diff) | |
download | scummvm-rg350-ba5ed7fc88a69da782f3df18698837a67a59eb6b.tar.gz scummvm-rg350-ba5ed7fc88a69da782f3df18698837a67a59eb6b.tar.bz2 scummvm-rg350-ba5ed7fc88a69da782f3df18698837a67a59eb6b.zip |
MACVENTURE: Major push in functionality and rendering
Diffstat (limited to 'engines/macventure/gui.h')
-rw-r--r-- | engines/macventure/gui.h | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/engines/macventure/gui.h b/engines/macventure/gui.h index 2e8b6e20a2..b7d5d52b83 100644 --- a/engines/macventure/gui.h +++ b/engines/macventure/gui.h @@ -117,7 +117,8 @@ enum ControlReference { kControlOperate = 5, kControlGo = 6, kControlHit = 7, - kControlConsume = 8 + kControlConsume = 8, + kControlClickToContinue = 9 }; struct ControlData { @@ -153,9 +154,11 @@ public: void drawMenu(); void drawTitle(); void drawExit(ObjID id); + void clearControls(); bool processEvent(Common::Event &event); void handleMenuAction(MenuAction action); void updateWindow(WindowReference winID, bool containerOpen); + void invertWindowColors(WindowReference winID); WindowReference createInventoryWindow(); bool tryCloseWindow(WindowReference winID); @@ -225,11 +228,15 @@ private: // Methods void drawCommandsWindow(); void drawMainGameWindow(); void drawSelfWindow(); + void drawInventories(); + void drawExitsWindow(); void drawObjectsInWindow(WindowReference target, Graphics::ManagedSurface *surface); + void drawWindowTitle(WindowReference target, Graphics::ManagedSurface *surface); // Finders WindowData& findWindowData(WindowReference reference); + Graphics::MacWindow *findWindow(WindowReference reference); }; @@ -249,12 +256,16 @@ public: CommandButton(ControlData data, Gui *g) { _data = data; _gui = g; + _selected = false; } ~CommandButton() {} void draw(Graphics::ManagedSurface &surface) const { - surface.fillRect(_data.bounds, kColorWhite); + uint colorFill = _selected ? kColorBlack : kColorWhite; + uint colorText = _selected ? kColorWhite : kColorBlack; + + surface.fillRect(_data.bounds, colorFill); surface.frameRect(_data.bounds, kColorBlack); const Graphics::Font &font = _gui->getCurrentFont(); @@ -265,7 +276,7 @@ public: _data.bounds.left, _data.bounds.top, _data.bounds.right - _data.bounds.left, - kColorBlack, + colorText, Graphics::kTextAlignCenter); } @@ -277,7 +288,20 @@ public: return _data; } + void select() { + _selected = true; + } + + void unselect() { + _selected = false; + } + + bool isSelected() { + return _selected; + } + private: + bool _selected; ControlData _data; Gui *_gui; }; |