aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/pet_control/pet_glyphs.h
diff options
context:
space:
mode:
authorPaul Gilbert2016-04-17 21:08:42 -0400
committerPaul Gilbert2016-07-10 16:11:21 -0400
commit46a30255b0e5a7f5dad4fd032388d31a69208b62 (patch)
tree1e668339aecb1246c9ec20515b81866d81ab75d2 /engines/titanic/pet_control/pet_glyphs.h
parenta11e677494d7cb3c6b8ed2c56095873d46a00ab8 (diff)
downloadscummvm-rg350-46a30255b0e5a7f5dad4fd032388d31a69208b62.tar.gz
scummvm-rg350-46a30255b0e5a7f5dad4fd032388d31a69208b62.tar.bz2
scummvm-rg350-46a30255b0e5a7f5dad4fd032388d31a69208b62.zip
TITANIC: Seperate PET classes setup and reset methods
Diffstat (limited to 'engines/titanic/pet_control/pet_glyphs.h')
-rw-r--r--engines/titanic/pet_control/pet_glyphs.h31
1 files changed, 28 insertions, 3 deletions
diff --git a/engines/titanic/pet_control/pet_glyphs.h b/engines/titanic/pet_control/pet_glyphs.h
index 6160c454a1..fceca4d27e 100644
--- a/engines/titanic/pet_control/pet_glyphs.h
+++ b/engines/titanic/pet_control/pet_glyphs.h
@@ -30,6 +30,19 @@
namespace Titanic {
class CPetGlyphs;
+class CPetSection;
+
+enum GlyphActionMode { ACTION_REMOVE = 0, ACTION_REMOVED = 1, ACTION_CHANGE = 2 };
+
+class CGlyphAction {
+protected:
+ GlyphActionMode _mode;
+public:
+ CGlyphAction() : _mode(ACTION_REMOVED) {}
+ CGlyphAction(GlyphActionMode mode) : _mode(mode) {}
+
+ GlyphActionMode getMode() const { return _mode; }
+};
class CPetGlyph : public ListItem {
public:
@@ -105,7 +118,11 @@ public:
virtual int proc35() { return 0; }
virtual void proc36() {}
virtual int proc37() { return 0; }
- virtual int proc38() { return 1; }
+
+ /**
+ * Does a processing action on the glyph
+ */
+ virtual bool doAction(CGlyphAction *action) { return true; }
};
class CPetGlyphs : public List<CPetGlyph> {
@@ -149,17 +166,25 @@ public:
CPetGlyphs();
/**
+ * Set the number of visible glyphs
+ */
+ void setNumVisible(int total);
+
+ /**
* Clears the glyph list
*/
void clear();
- virtual void proc8();
+ /**
+ * The visual dimensions for the control and it's components
+ */
+ virtual void setup(int numVisible, CPetSection *owner);
/**
* Set up the control
*/
- virtual void setup();
+ virtual void reset();
virtual void proc10();
virtual void proc11();