aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/core/view_item.h
diff options
context:
space:
mode:
authorPaul Gilbert2016-04-06 22:17:26 -0400
committerPaul Gilbert2016-04-06 22:17:26 -0400
commit51df4d98d3a066e092f34cf7968c436a3e430df2 (patch)
tree9e35582d31b834dff272da7fd27de03633990017 /engines/titanic/core/view_item.h
parente728e901d02aca51858f91ac29b1a177e5e80a07 (diff)
downloadscummvm-rg350-51df4d98d3a066e092f34cf7968c436a3e430df2.tar.gz
scummvm-rg350-51df4d98d3a066e092f34cf7968c436a3e430df2.tar.bz2
scummvm-rg350-51df4d98d3a066e092f34cf7968c436a3e430df2.zip
TITANIC: In-progress converting message handling to be more like original
I currently was using multiple inheritance to define the message classes that a class supports, but this caused problems when, for example, a class tested to see if an object supported CMouseMsg. The class in question supported several mouse messages, but a standard dynamic_cast returned nullptr for the class, since it didn't directly support it
Diffstat (limited to 'engines/titanic/core/view_item.h')
-rw-r--r--engines/titanic/core/view_item.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/engines/titanic/core/view_item.h b/engines/titanic/core/view_item.h
index fc4089f924..f439929f5e 100644
--- a/engines/titanic/core/view_item.h
+++ b/engines/titanic/core/view_item.h
@@ -29,11 +29,8 @@
namespace Titanic {
-class CViewItem : public CNamedItem,
- public CMouseButtonDownMsgTarget,
- public CMouseButtonUpMsgTarget,
- public CMouseMoveMsgTarget,
- public CMouseDoubleClickMsgTarget {
+class CViewItem : public CNamedItem {
+ DECLARE_MESSAGE_MAP
private:
CTreeItem *_buttonUpTargets[4];
private:
@@ -55,10 +52,10 @@ protected:
int _field50;
int _field54;
protected:
- virtual bool handleMessage(CMouseButtonDownMsg &msg);
- virtual bool handleMessage(CMouseButtonUpMsg &msg);
- virtual bool handleMessage(CMouseMoveMsg &msg);
- virtual bool handleMessage(CMouseDoubleClickMsg &msg);
+ virtual bool MouseButtonDownMsg(CMouseButtonDownMsg &msg);
+ virtual bool MouseButtonUpMsg(CMouseButtonUpMsg &msg);
+ virtual bool MouseMoveMsg(CMouseMoveMsg &msg);
+ virtual bool MouseDoubleClickMsg(CMouseDoubleClickMsg &msg);
public:
int _viewNumber;
public: