aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/dialogs.h
diff options
context:
space:
mode:
authorPaul Gilbert2009-12-17 07:55:08 +0000
committerPaul Gilbert2009-12-17 07:55:08 +0000
commit575308cea724b214d7f83a06cf8819f15b1e4f75 (patch)
tree19d691025b2c9040698b196cd66b74f4fffaed2e /engines/m4/dialogs.h
parent690a410423207c3df4c6cf9427167c0948f08ad4 (diff)
downloadscummvm-rg350-575308cea724b214d7f83a06cf8819f15b1e4f75.tar.gz
scummvm-rg350-575308cea724b214d7f83a06cf8819f15b1e4f75.tar.bz2
scummvm-rg350-575308cea724b214d7f83a06cf8819f15b1e4f75.zip
Implemented basic message parsing
svn-id: r46402
Diffstat (limited to 'engines/m4/dialogs.h')
-rw-r--r--engines/m4/dialogs.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/m4/dialogs.h b/engines/m4/dialogs.h
index beb87ae17e..c9825b6d9b 100644
--- a/engines/m4/dialogs.h
+++ b/engines/m4/dialogs.h
@@ -36,27 +36,32 @@ class DialogLine {
public:
char data[100];
uint8 xp;
+ bool underline;
- DialogLine() { data[0] = '\0'; xp = 0; }
+ DialogLine() { data[0] = '\0'; xp = 0; underline = false; }
};
class Dialog: public View {
private:
Common::Array<DialogLine> _lines;
int _widthChars;
+ int _dialogWidth;
int _dialogIndex;
Common::Point _askPosition;
RGBList *_palette;
+ int _lineX;
+ int _widthX;
void initDialog();
void incLine();
bool matchCommand(const char *s1, const char *s2);
void writeChars(const char *line);
- void addLine(const char *line);
+ void addLine(const char *line, bool underlineP = false);
+ void appendText(const char *line);
void draw();
public:
- Dialog(M4Engine *vm, const char *msgData);
+ Dialog(M4Engine *vm, const char *msgData, const char *title = NULL);
virtual ~Dialog();
bool onEvent(M4EventType eventType, int param1, int x, int y, bool &captureEvents);