aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/pet_control/pet_remote.h
diff options
context:
space:
mode:
authorPaul Gilbert2016-05-01 19:09:21 -0400
committerPaul Gilbert2016-07-10 16:38:04 -0400
commit8a6a5ad5c10b682bef145b414ebed386aa7df842 (patch)
treede8f6002d413744f6fb25a89aeac64c528da2476 /engines/titanic/pet_control/pet_remote.h
parent93f88cc668f15a4c2b411c99b3f07e2f03bee50a (diff)
downloadscummvm-rg350-8a6a5ad5c10b682bef145b414ebed386aa7df842.tar.gz
scummvm-rg350-8a6a5ad5c10b682bef145b414ebed386aa7df842.tar.bz2
scummvm-rg350-8a6a5ad5c10b682bef145b414ebed386aa7df842.zip
TITANIC: In progress implementation of PET Remote
Diffstat (limited to 'engines/titanic/pet_control/pet_remote.h')
-rw-r--r--engines/titanic/pet_control/pet_remote.h95
1 files changed, 84 insertions, 11 deletions
diff --git a/engines/titanic/pet_control/pet_remote.h b/engines/titanic/pet_control/pet_remote.h
index 70f6c3262c..5db7e7f912 100644
--- a/engines/titanic/pet_control/pet_remote.h
+++ b/engines/titanic/pet_control/pet_remote.h
@@ -36,23 +36,96 @@ class CPetRemoteGlyphs : public CPetGlyphs {
class CPetRemote : public CPetSection {
private:
CPetRemoteGlyphs _items;
- CPetGfxElement _val1;
- CPetGfxElement _val2;
- CPetGfxElement _val3;
- CPetGfxElement _val4;
- CPetGfxElement _val5;
- CPetGfxElement _val6;
- CPetGfxElement _val7;
- CPetGfxElement _val8;
- CPetGfxElement _val9;
- CPetGfxElement _val10;
- CPetGfxElement _val11;
+ CPetGfxElement _onOff;
+ CPetGfxElement _up;
+ CPetGfxElement _down;
+ CPetGfxElement _left;
+ CPetGfxElement _right;
+ CPetGfxElement _top;
+ CPetGfxElement _bottom;
+ CPetGfxElement _action;
+ CPetGfxElement _send;
+ CPetGfxElement _receive;
+ CPetGfxElement _call;
CPetText _text;
+private:
+ /**
+ * Setup the control
+ */
+ bool setupControl(CPetControl *petControl);
+
+ /**
+ * Get the current room
+ */
+ CRoomItem *getRoom() const;
+
+ /**
+ * Return a highlight index
+ */
+ int getHighlightIndex(int val);
+
+ /**
+ * Return the index of a room name in the master room names list
+ */
+ int roomIndexOf(const CString &name);
public:
+ CPetRemote();
+
+ /**
+ * Sets up the section
+ */
+ virtual bool setup(CPetControl *petControl);
+
+ /**
+ * Reset the section
+ */
+ virtual bool reset();
+
+ /**
+ * Draw the section
+ */
+ virtual void draw(CScreenManager *screenManager);
+
+ /**
+ * Following are handlers for the various messages that the PET can
+ * pass onto the currently active section/area
+ */
+ virtual bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
+ virtual bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
+ virtual bool MouseDoubleClickMsg(CMouseDoubleClickMsg *msg);
+ virtual bool VirtualKeyCharMsg(CVirtualKeyCharMsg *msg);
+
/**
* Returns true if the object is in a valid state
*/
virtual bool isValid(CPetControl *petControl);
+
+ /**
+ * Called after a game has been loaded
+ */
+ virtual void postLoad();
+
+ /**
+ * Called when a section is switched to
+ */
+ virtual void enter(PetArea oldArea);
+
+ /**
+ * Called when a new room is entered
+ */
+ virtual void enterRoom(CRoomItem *room);
+
+ /**
+ * Get a reference to the tooltip text associated with the section
+ */
+ virtual CPetText *getText();
+
+ /**
+ * Get an element from the section by a designated Id
+ */
+ virtual CPetElement *getElement(uint id);
+
+ virtual void proc38(int val);
};
} // End of namespace Titanic