Backend support for using dynamic styles. See also Ticket #49.
[rodin/chimara.git] / libchimara / stream.h
index 1f9f3c82596e4f45222bcca3a660bb0741108c7f..b60e022f70703f47c845282978fff77244866f3e 100644 (file)
@@ -2,7 +2,9 @@
 #define STREAM_H
 
 #include <gtk/gtk.h>
+#include "chimara-glk-private.h"
 #include "glk.h"
+#include "gi_dispa.h"
 #include "window.h"
 #include "fileref.h"
 
@@ -23,6 +25,7 @@ struct glk_stream_struct
 {
        /*< private >*/
        glui32 magic, rock;
+       gidispatch_rock_t disprock;
        /* Pointer to the list node in the global stream list that contains this
        stream */
        GList* stream_list;
@@ -40,16 +43,19 @@ struct glk_stream_struct
        glui32 *ubuffer;
        glui32 mark;
        glui32 buflen;
+       gidispatch_rock_t buffer_rock;
        /* Specific to file streams */
        FILE *file_pointer;
        gboolean binary;
        gchar *filename; /* Displayable filename in UTF-8 for error handling */
 
        gchar *style; /* Name of the current style */
+       gchar *glk_style; /* Name of the current glk style override */
+       gboolean hyperlink_mode; /* When turned on, text written to the stream will be a hyperlink */
 };
 
-G_GNUC_INTERNAL strid_t window_stream_new(winid_t window);
 G_GNUC_INTERNAL strid_t file_stream_new(frefid_t fileref, glui32 fmode, glui32 rock, gboolean unicode);
+G_GNUC_INTERNAL strid_t stream_new_common(glui32 rock);
 G_GNUC_INTERNAL void stream_close_common(strid_t str, stream_result_t *result);
 
 #endif