summaryrefslogtreecommitdiff
path: root/gtk/gtkmodifierstyle.c
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2010-12-04 17:44:53 +0100
committerCarlos Garnacho <carlosg@gnome.org>2010-12-04 17:49:28 +0100
commit3d28adf31779632d980097b92c472904b258a520 (patch)
tree5126310aeeaf8ca0fc1b0a5f26c0d5c26f025241 /gtk/gtkmodifierstyle.c
parentcd76b057e9693b6919f4ccbe40ce205efc8d3caf (diff)
downloadgtk+-3d28adf31779632d980097b92c472904b258a520.tar.gz
Make gtk_widget_override_cursor() take GdkRGBAs
Even though the style properties have the GdkColor type, the other gtk_widget_override_* API takes RGBA colors, so it is consistent now.
Diffstat (limited to 'gtk/gtkmodifierstyle.c')
-rw-r--r--gtk/gtkmodifierstyle.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/gtk/gtkmodifierstyle.c b/gtk/gtkmodifierstyle.c
index a8f4d3d729..48a4f21f6e 100644
--- a/gtk/gtkmodifierstyle.c
+++ b/gtk/gtkmodifierstyle.c
@@ -98,7 +98,8 @@ gtk_modifier_style_get_style_property (GtkStyleProvider *provider,
GValue *value)
{
GtkModifierStylePrivate *priv;
- GdkColor *color;
+ GdkRGBA *rgba;
+ GdkColor color;
gchar *str;
/* Reject non-color types for now */
@@ -110,13 +111,17 @@ gtk_modifier_style_get_style_property (GtkStyleProvider *provider,
g_type_name (pspec->owner_type),
pspec->name);
- color = g_hash_table_lookup (priv->color_properties, str);
+ rgba = g_hash_table_lookup (priv->color_properties, str);
g_free (str);
- if (!color)
+ if (!rgba)
return FALSE;
- g_value_set_boxed (value, color);
+ color.red = (guint) (rgba->red * 65535.) + 0.5;
+ color.green = (guint) (rgba->green * 65535.) + 0.5;
+ color.blue = (guint) (rgba->blue * 65535.) + 0.5;
+
+ g_value_set_boxed (value, &color);
return TRUE;
}
@@ -254,10 +259,10 @@ void
gtk_modifier_style_set_color_property (GtkModifierStyle *style,
GType widget_type,
const gchar *prop_name,
- const GdkColor *color)
+ const GdkRGBA *color)
{
GtkModifierStylePrivate *priv;
- const GdkColor *old_color;
+ const GdkRGBA *old_color;
gchar *str;
g_return_if_fail (GTK_IS_MODIFIER_STYLE (style));
@@ -270,7 +275,7 @@ gtk_modifier_style_set_color_property (GtkModifierStyle *style,
old_color = g_hash_table_lookup (priv->color_properties, str);
if ((!color && !old_color) ||
- (color && old_color && gdk_color_equal (color, old_color)))
+ (color && old_color && gdk_rgba_equal (color, old_color)))
{
g_free (str);
return;
@@ -278,7 +283,7 @@ gtk_modifier_style_set_color_property (GtkModifierStyle *style,
if (color)
g_hash_table_insert (priv->color_properties, str,
- gdk_color_copy (color));
+ gdk_rgba_copy (color));
else
g_hash_table_remove (priv->color_properties, str);