aboutsummaryrefslogtreecommitdiff
path: root/engines/agi/text.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agi/text.h')
-rw-r--r--engines/agi/text.h39
1 files changed, 25 insertions, 14 deletions
diff --git a/engines/agi/text.h b/engines/agi/text.h
index d683b1669e..28324fc005 100644
--- a/engines/agi/text.h
+++ b/engines/agi/text.h
@@ -29,20 +29,31 @@
namespace Agi {
-int message_box(const char *);
-int selection_box(const char *, const char **);
-void close_window(void);
-void draw_window(int, int, int, int);
-void print_text(const char *, int, int, int, int, int, int);
-void print_text_console(const char *, int, int, int, int, int);
-int print(const char *, int, int, int);
-char *word_wrap_string(char *, int *);
-char *agi_sprintf(const char *);
-void write_status(void);
-void write_prompt(void);
-void clear_lines(int, int, int);
-void flush_lines(int, int);
-
+class TextMan {
+public:
+ int message_box(const char *);
+ int selection_box(const char *, const char **);
+ void close_window(void);
+ void draw_window(int, int, int, int);
+ void print_text(const char *, int, int, int, int, int, int);
+ void print_text_console(const char *, int, int, int, int, int);
+ int print(const char *, int, int, int);
+ char *word_wrap_string(char *, int *);
+ char *agi_sprintf(const char *);
+ void write_status(void);
+ void write_prompt(void);
+ void clear_lines(int, int, int);
+ void flush_lines(int, int);
+
+private:
+ void print_status(const char *message, ...);
+ void print_text2(int l, const char *msg, int foff, int xoff, int yoff, int len, int fg, int bg);
+ void blit_textbox(const char *p, int y, int x, int len);
+ void erase_textbox();
+ char *safe_strcat(char *s, const char *t);
+};
+
+extern TextMan *_text;
} // End of namespace Agi
#endif /* AGI_TEXT_H */