1a76bd7e4e36ca9b7076966484b07f375c943b3e
[rodin/chimara.git] / libchimara / garglk.c
1 #include <libchimara/glk.h>
2 #include "chimara-glk-private.h"
3
4 extern GPrivate *glk_data_key;
5
6 void
7 apply_reverse_color(GtkTextTag *tag, gpointer data)
8 {
9         g_object_set_data( G_OBJECT(tag), "reverse_color", data );
10 }
11
12 void 
13 garglk_set_reversevideo(glui32 reverse)
14 {
15         printf("set_reversevideo(%d)\n", reverse);
16         ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key);
17         g_return_if_fail(glk_data->current_stream != NULL);
18         g_return_if_fail(glk_data->current_stream->window != NULL);
19
20         GtkTextTagTable *tags = gtk_text_buffer_get_tag_table( GTK_TEXT_BUFFER(glk_data->current_stream->window->widget) );
21         gtk_text_tag_table_foreach( tags, apply_reverse_color, GINT_TO_POINTER(reverse) );
22 }
23