X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fgarglk.c;h=1a76bd7e4e36ca9b7076966484b07f375c943b3e;hb=da1d0e5be5703dff9c43fe1c727e8e48d36315c3;hp=4708174112eb3821b01294e3fa7bc75e1bd66822;hpb=4b2d69acaa91acafc532d50c2f1f16a9583c4d50;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/garglk.c b/libchimara/garglk.c index 4708174..1a76bd7 100644 --- a/libchimara/garglk.c +++ b/libchimara/garglk.c @@ -1,6 +1,23 @@ #include +#include "chimara-glk-private.h" + +extern GPrivate *glk_data_key; + +void +apply_reverse_color(GtkTextTag *tag, gpointer data) +{ + g_object_set_data( G_OBJECT(tag), "reverse_color", data ); +} void garglk_set_reversevideo(glui32 reverse) { + printf("set_reversevideo(%d)\n", reverse); + ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + g_return_if_fail(glk_data->current_stream != NULL); + g_return_if_fail(glk_data->current_stream->window != NULL); + + GtkTextTagTable *tags = gtk_text_buffer_get_tag_table( GTK_TEXT_BUFFER(glk_data->current_stream->window->widget) ); + gtk_text_tag_table_foreach( tags, apply_reverse_color, GINT_TO_POINTER(reverse) ); } +