From 0e3c1a6bbc18562c515bd10e2ca9d5bf32b9780f Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Tue, 21 Dec 2010 19:35:50 +0100 Subject: [PATCH] libview: Port EvAnnotationWindow to GtkStyleContext --- libview/ev-annotation-window.c | 47 ++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/libview/ev-annotation-window.c b/libview/ev-annotation-window.c index 61002e2e..da77200c 100644 --- a/libview/ev-annotation-window.c +++ b/libview/ev-annotation-window.c @@ -134,28 +134,31 @@ static void ev_annotation_window_set_color (EvAnnotationWindow *window, GdkColor *color) { - GtkRcStyle *rc_style; - GdkColor gcolor; - - gcolor = *color; - - /* Apply colors to style */ - rc_style = gtk_widget_get_modifier_style (GTK_WIDGET (window)); - rc_style->base[GTK_STATE_NORMAL] = gcolor; - rc_style->bg[GTK_STATE_PRELIGHT] = gcolor; - rc_style->bg[GTK_STATE_NORMAL] = gcolor; - rc_style->bg[GTK_STATE_ACTIVE] = gcolor; - rc_style->color_flags[GTK_STATE_PRELIGHT] = GTK_RC_BG; - rc_style->color_flags[GTK_STATE_NORMAL] = GTK_RC_BG | GTK_RC_BASE; - rc_style->color_flags[GTK_STATE_ACTIVE] = GTK_RC_BG; - - /* Apply the style to the widgets */ - g_object_ref (rc_style); - gtk_widget_modify_style (GTK_WIDGET (window), rc_style); - gtk_widget_modify_style (window->close_button, rc_style); - gtk_widget_modify_style (window->resize_se, rc_style); - gtk_widget_modify_style (window->resize_sw, rc_style); - g_object_unref (rc_style); + GtkStyleProperties *properties; + GtkStyleProvider *provider; + GdkRGBA rgba; + + rgba.red = color->red / 65535.; + rgba.green = color->green / 65535.; + rgba.blue = color->blue / 65535.; + rgba.alpha = 1; + + properties = gtk_style_properties_new (); + gtk_style_properties_set (properties, 0, + "color", &rgba, + "background-color", &rgba, + NULL); + + provider = GTK_STYLE_PROVIDER (properties); + gtk_style_context_add_provider (gtk_widget_get_style_context (GTK_WIDGET (window)), + provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + gtk_style_context_add_provider (gtk_widget_get_style_context (window->close_button), + provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + gtk_style_context_add_provider (gtk_widget_get_style_context (window->resize_se), + provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + gtk_style_context_add_provider (gtk_widget_get_style_context (window->resize_sw), + provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + g_object_unref (properties); } static void -- 2.43.5