diff options
author | Paul Gilbert | 2016-05-01 19:09:21 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-07-10 16:38:04 -0400 |
commit | 8a6a5ad5c10b682bef145b414ebed386aa7df842 (patch) | |
tree | de8f6002d413744f6fb25a89aeac64c528da2476 /engines/titanic/pet_control/pet_remote.h | |
parent | 93f88cc668f15a4c2b411c99b3f07e2f03bee50a (diff) | |
download | scummvm-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.h | 95 |
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 |