3 /* Global current stream */
4 static strid_t current_stream = NULL;
5 static GList *stream_list = NULL;
8 window_stream_new(winid_t window)
11 strid_t s = g_new0(struct glk_stream_struct, 1);
12 s->file_mode = filemode_Write;
13 s->stream_type = STREAM_TYPE_WINDOW;
16 stream_list = g_list_prepend(stream_list, s);
17 s->stream_list = stream_list;
23 glk_stream_set_current(strid_t stream)
25 if(stream->file_mode != filemode_Write)
27 g_warning("glk_stream_set_current: Cannot set current stream to non output stream");
31 current_stream = stream;
35 glk_put_string(char *s)
40 switch(current_stream->stream_type)
42 case STREAM_TYPE_WINDOW:
43 utf8 = g_convert(s, -1, "UTF-8", "ISO-8859-1", NULL, NULL, &error);
47 g_warning("glk_put_string: Error during latin1->utf8 conversion: %s", error->message);
51 GtkTextBuffer *buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(current_stream->window->widget) );
54 gtk_text_buffer_get_end_iter(buffer, &iter);
56 gtk_text_buffer_insert(buffer, &iter, utf8, -1);
61 g_warning("glk_put_string: Writing to this kind of stream unsupported.");