diff options
author | Paul Gilbert | 2014-06-05 19:28:17 -0400 |
---|---|---|
committer | Paul Gilbert | 2014-06-05 19:28:17 -0400 |
commit | 26a2a125ed178046dc8f0d09fe1831041c5a7b32 (patch) | |
tree | c4b523a5b90bc2540336c046a1b4a7e99a796915 /engines/mads/nebular/dialogs_nebular.h | |
parent | 639a2dfd2e704871d7262afb8c249c36d4027e41 (diff) | |
download | scummvm-rg350-26a2a125ed178046dc8f0d09fe1831041c5a7b32.tar.gz scummvm-rg350-26a2a125ed178046dc8f0d09fe1831041c5a7b32.tar.bz2 scummvm-rg350-26a2a125ed178046dc8f0d09fe1831041c5a7b32.zip |
MADS: Added setup code for difficulty dialog
Diffstat (limited to 'engines/mads/nebular/dialogs_nebular.h')
-rw-r--r-- | engines/mads/nebular/dialogs_nebular.h | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/engines/mads/nebular/dialogs_nebular.h b/engines/mads/nebular/dialogs_nebular.h index f1cf0f2aff..4eec735fb8 100644 --- a/engines/mads/nebular/dialogs_nebular.h +++ b/engines/mads/nebular/dialogs_nebular.h @@ -103,6 +103,7 @@ enum DialogTextAlign { ALIGN_CENTER = -1, ALIGN_AT_CENTER = -2, ALIGN_RIGHT = -3 class ScreenDialog { struct DialogLine { + bool _active; int _state; Common::Point _pos; int _textDisplayIndex; @@ -131,14 +132,19 @@ protected: void clearLines(); /** + * Setup lines to be clickable + */ + void setClickableLines(); + + /** * Add a quote to the lines list */ - void addQuote(int id1, int id2, DialogTextAlign align, const Common::Point &pt, Font *font); + void addQuote(int id1, int id2, DialogTextAlign align, const Common::Point &pt, Font *font = nullptr); /** * Adds a line to the lines list */ - void addLine(const Common::String &msg, DialogTextAlign align, const Common::Point &pt, Font *font); + void addLine(const Common::String &msg, DialogTextAlign align, const Common::Point &pt, Font *font = nullptr); /** * Initializes variables @@ -154,11 +160,36 @@ protected: * Choose the background to display for the dialog */ void chooseBackground(); + + /** + * Handle events whilst the dialog is active + */ + bool handleEvents(); public: /** * Constructor */ ScreenDialog(MADSEngine *vm); + + /** + * Show the dialog + */ + virtual void show(); +}; + +class DifficultyDialog : public ScreenDialog { +private: + /** + * Set the lines for the dialog + */ + void setLines(); +public: + DifficultyDialog(MADSEngine *vm); + + /** + * Show the dialog + */ + virtual void show(); }; class GameMenuDialog : public ScreenDialog { |