Implemented output buffering.
[rodin/chimara.git] / libchimara / window.h
index 1a0b2e987297ef6893bc5f0d1f71162eaa38650e..71bbb7436168cbbe368ae5827920e05f58d7c422 100644 (file)
@@ -3,11 +3,11 @@
 
 #include <gtk/gtk.h>
 #include "glk.h"
-
+#include "gi_dispa.h"
 #include "stream.h"
-#include "error.h"
 #include "input.h"
 #include "style.h"
+#include "hyperlink.h"
 
 
 enum InputRequestType
@@ -29,6 +29,7 @@ struct glk_window_struct
 {
        /*< private >*/
        glui32 magic, rock;
+       gidispatch_rock_t disprock;
        /* Pointer to the node in the global tree that contains this window */
        GNode *window_node;
        /* Window parameters */
@@ -56,6 +57,7 @@ struct glk_window_struct
        gchar *line_input_buffer;
        glui32 *line_input_buffer_unicode;
        glui32 line_input_buffer_max_len;
+       gidispatch_rock_t buffer_rock;
        gboolean mouse_input_requested;
        /* Line input field (text grids only) */
        glui32 input_length;
@@ -64,6 +66,10 @@ struct glk_window_struct
        /* Signal handlers */
        gulong keypress_handler;
        gulong insert_text_handler;
+       gulong mouse_click_handler;
+       gulong mouse_move_handler;
+       /* Window buffer */
+       GString *buffer;
 };
 
 #endif