aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/tattoo/widget_inventory.h
diff options
context:
space:
mode:
authorPaul Gilbert2015-06-21 08:46:38 -0400
committerPaul Gilbert2015-06-21 08:46:38 -0400
commit3adaf2f999c4af74534beb7d02638aba8cc81a1e (patch)
treedd6aa325a44c51a8867b2e42093c7c085e5d3853 /engines/sherlock/tattoo/widget_inventory.h
parent371d5e1d904898a01292db26703d38ee90558bbd (diff)
downloadscummvm-rg350-3adaf2f999c4af74534beb7d02638aba8cc81a1e.tar.gz
scummvm-rg350-3adaf2f999c4af74534beb7d02638aba8cc81a1e.tar.bz2
scummvm-rg350-3adaf2f999c4af74534beb7d02638aba8cc81a1e.zip
SHERLOCK: RT: Implement inventory handleEvents
Diffstat (limited to 'engines/sherlock/tattoo/widget_inventory.h')
-rw-r--r--engines/sherlock/tattoo/widget_inventory.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/engines/sherlock/tattoo/widget_inventory.h b/engines/sherlock/tattoo/widget_inventory.h
index 34e25eeaa0..29bcdaa0ea 100644
--- a/engines/sherlock/tattoo/widget_inventory.h
+++ b/engines/sherlock/tattoo/widget_inventory.h
@@ -25,6 +25,7 @@
#include "common/scummsys.h"
#include "sherlock/tattoo/widget_base.h"
+#include "sherlock/tattoo/widget_tooltip.h"
namespace Sherlock {
@@ -37,7 +38,19 @@ private:
int _invVerbMode;
int _invSelect, _oldInvSelect;
int _selector, _oldSelector;
+ int _invVerbSelect, _oldInvVerbSelect;
int _dialogTimer;
+ int _scrollHighlight;
+ Common::StringArray _inventCommands;
+ WidgetTooltip _tooltipWidget;
+ Common::String _invVerb;
+ Common::String _invTarget;
+ Common::String _action;
+ Common::Rect _invGraphicBounds;
+ Surface _invGraphic;
+ bool _swapItems;
+ Common::Rect _menuBounds, _oldMenuBounds;
+ Surface _menuSurface;
/**
* Draw the scrollbar for the dialog
@@ -48,6 +61,21 @@ private:
* Draws all the dialog rectangles for any items that need them
*/
void drawDialogRect(const Common::Rect &r, bool raised);
+
+ /**
+ * Displays the description of any inventory item the moues cursor is over
+ */
+ void updateDescription();
+
+ /**
+ * Check for keys to mouse the mouse within the inventory dialog
+ */
+ void checkInvTabbingKeys();
+
+ /**
+ * Highlights the controls
+ */
+ void highlightControls();
public:
int _invMode;
public:
@@ -60,6 +88,16 @@ public:
* Draw the inventory on the surface
*/
void drawInventory();
+
+ /**
+ * Handle events whilst the widget is on-screen
+ */
+ virtual void handleEvents();
+
+ /**
+ * Close a currently active menu
+ */
+ virtual void banishWindow();
};
} // End of namespace Tattoo