diff --git a/panel/panel-base-window.c b/panel/panel-base-window.c index b99cd0d4acc7613d70d6b78d24c63bf28f6e73e3..9d4f9b6da5ba8495b489b1a64990badbfa5f4930 100644 --- a/panel/panel-base-window.c +++ b/panel/panel-base-window.c @@ -235,9 +235,8 @@ panel_base_window_get_property (GObject *object, { PanelBaseWindow *window = PANEL_BASE_WINDOW (object); PanelBaseWindowPrivate *priv = window->priv; - GdkColor *color; - GdkColor bg_color; - GdkRGBA bg_rgba; + GdkRGBA *color; + GdkRGBA bg_color; GtkStyleContext *ctx; switch (prop_id) @@ -264,10 +263,7 @@ panel_base_window_get_property (GObject *object, else { ctx = gtk_widget_get_style_context (GTK_WIDGET (window)); - gtk_style_context_get_background_color (ctx, GTK_STATE_NORMAL, &bg_rgba); - bg_color.red = CLAMP(bg_rgba.red * 65536, 65535, 0); - bg_color.green = CLAMP(bg_rgba.green * 65536, 65535, 0); - bg_color.blue = CLAMP(bg_rgba.blue * 65536, 65535, 0); + gtk_style_context_get_background_color (ctx, GTK_STATE_NORMAL, &bg_color); color = &bg_color; } g_value_set_boxed (value, color); @@ -485,7 +481,7 @@ static gboolean panel_base_window_draw (GtkWidget *widget, cairo_t *cr) { - const GdkColor *color; + const GdkRGBA *color; GdkRGBA bg_rgba; GtkSymbolicColor *literal; GtkSymbolicColor *shade; @@ -780,7 +776,7 @@ panel_base_window_set_plugin_background_color (GtkWidget *widget, gpointer user_data) { PanelBaseWindow *window = PANEL_BASE_WINDOW (user_data); - GdkColor *color; + GdkRGBA *color; panel_return_if_fail (XFCE_IS_PANEL_PLUGIN_PROVIDER (widget)); panel_return_if_fail (PANEL_IS_BASE_WINDOW (user_data)); @@ -863,18 +859,18 @@ panel_base_window_get_borders (PanelBaseWindow *window) void panel_util_set_source_rgba (cairo_t *cr, - const GdkColor *color, + const GdkRGBA *color, gdouble alpha) { panel_return_if_fail (alpha >= 0.00 && alpha <= 1.00); panel_return_if_fail (color != NULL); if (G_LIKELY (alpha == 1.00)) - cairo_set_source_rgb (cr, color->red / 65535.00, - color->green / 65535.00, - color->blue / 65535.00); + cairo_set_source_rgb (cr, color->red, + color->green, + color->blue); else - cairo_set_source_rgba (cr, color->red / 65535.00, - color->green / 65535.00, - color->blue / 65535.00, alpha); + cairo_set_source_rgba (cr, color->red, + color->green, + color->blue, alpha); } diff --git a/panel/panel-base-window.h b/panel/panel-base-window.h index 836e2b9e2e334d0a4575cfeddeb4e84153f85a56..95016abc48b27076c51f11b88d43fa95e5dd7b3f 100644 --- a/panel/panel-base-window.h +++ b/panel/panel-base-window.h @@ -68,7 +68,7 @@ struct _PanelBaseWindow gdouble background_alpha; PanelBgStyle background_style; - GdkColor *background_color; + GdkRGBA *background_color; gchar *background_image; }; @@ -85,7 +85,7 @@ void panel_base_window_set_borders (PanelBaseWindow *window, PanelBorders panel_base_window_get_borders (PanelBaseWindow *window); void panel_util_set_source_rgba (cairo_t *cr, - const GdkColor *color, + const GdkRGBA *color, gdouble alpha); G_END_DECLS diff --git a/panel/panel-plugin-external.c b/panel/panel-plugin-external.c index 3debd5cf9c310468b371f298bd3294de5aa34bfe..c263902af31dd136a98138adbc5c2b1a91e23509 100644 --- a/panel/panel-plugin-external.c +++ b/panel/panel-plugin-external.c @@ -1136,7 +1136,7 @@ panel_plugin_external_set_background_alpha (PanelPluginExternal *external, void panel_plugin_external_set_background_color (PanelPluginExternal *external, - const GdkColor *color) + const GdkRGBA *color) { GValue value = { 0, }; @@ -1145,7 +1145,7 @@ panel_plugin_external_set_background_color (PanelPluginExternal *external, if (G_LIKELY (color != NULL)) { g_value_init (&value, G_TYPE_STRING); - g_value_take_string (&value, gdk_color_to_string (color)); + g_value_take_string (&value, gdk_rgba_to_string (color)); panel_plugin_external_queue_add (external, PROVIDER_PROP_TYPE_SET_BACKGROUND_COLOR, diff --git a/panel/panel-plugin-external.h b/panel/panel-plugin-external.h index afa591d7e23f5a79dc7ae475194b5c3738fc2eb8..83537bea6d0fe5c41646989e1c1bfb6a2dfa2572 100644 --- a/panel/panel-plugin-external.h +++ b/panel/panel-plugin-external.h @@ -90,7 +90,7 @@ void panel_plugin_external_set_background_alpha (PanelPluginExternal *e gdouble alpha); void panel_plugin_external_set_background_color (PanelPluginExternal *external, - const GdkColor *color); + const GdkRGBA *color); void panel_plugin_external_set_background_image (PanelPluginExternal *external, const gchar *image);