From 3d28adf31779632d980097b92c472904b258a520 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sat, 4 Dec 2010 17:44:53 +0100 Subject: [PATCH] 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. --- docs/reference/gtk/tmpl/gtkenums.sgml | 48 +++++++++++++++++++++ docs/reference/gtk/tmpl/gtkiconfactory.sgml | 11 +++++ docs/reference/gtk/tmpl/gtkicontheme.sgml | 12 ++++++ gtk/gtkmodifierstyle.c | 21 +++++---- gtk/gtkmodifierstyle.h | 2 +- gtk/gtkwidget.c | 9 ++-- gtk/gtkwidget.h | 4 +- 7 files changed, 93 insertions(+), 14 deletions(-) diff --git a/docs/reference/gtk/tmpl/gtkenums.sgml b/docs/reference/gtk/tmpl/gtkenums.sgml index 24b4d335af..897821f075 100644 --- a/docs/reference/gtk/tmpl/gtkenums.sgml +++ b/docs/reference/gtk/tmpl/gtkenums.sgml @@ -326,6 +326,18 @@ Used to change the appearance of an outline typically provided by a #GtkFrame. @GTK_STATE_INCONSISTENT: @GTK_STATE_FOCUSED: + + + + + +@GTK_STATE_FLAG_ACTIVE: +@GTK_STATE_FLAG_PRELIGHT: +@GTK_STATE_FLAG_SELECTED: +@GTK_STATE_FLAG_INSENSITIVE: +@GTK_STATE_FLAG_INCONSISTENT: +@GTK_STATE_FLAG_FOCUSED: + Used to customize the appearance of a #GtkToolbar. Note that @@ -408,3 +420,39 @@ The value can by obtained by connecting to the @GTK_DRAG_RESULT_ERROR: The drag operation failed due to some unspecified error + + + + + +@GTK_JUNCTION_NONE: +@GTK_JUNCTION_CORNER_TOPLEFT: +@GTK_JUNCTION_CORNER_TOPRIGHT: +@GTK_JUNCTION_CORNER_BOTTOMLEFT: +@GTK_JUNCTION_CORNER_BOTTOMRIGHT: +@GTK_JUNCTION_TOP: +@GTK_JUNCTION_BOTTOM: +@GTK_JUNCTION_LEFT: +@GTK_JUNCTION_RIGHT: + + + + + + +@GTK_BORDER_STYLE_NONE: +@GTK_BORDER_STYLE_SOLID: +@GTK_BORDER_STYLE_INSET: +@GTK_BORDER_STYLE_OUTSET: + + + + + + +@GTK_REGION_EVEN: +@GTK_REGION_ODD: +@GTK_REGION_FIRST: +@GTK_REGION_LAST: +@GTK_REGION_SORTED: + diff --git a/docs/reference/gtk/tmpl/gtkiconfactory.sgml b/docs/reference/gtk/tmpl/gtkiconfactory.sgml index 614b50edbd..b5e3a3e1e5 100644 --- a/docs/reference/gtk/tmpl/gtkiconfactory.sgml +++ b/docs/reference/gtk/tmpl/gtkiconfactory.sgml @@ -279,6 +279,17 @@ This attribute is optional. @Returns: + + + + + +@icon_set: +@context: +@size: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkicontheme.sgml b/docs/reference/gtk/tmpl/gtkicontheme.sgml index e18a6ade09..0bcae211fa 100644 --- a/docs/reference/gtk/tmpl/gtkicontheme.sgml +++ b/docs/reference/gtk/tmpl/gtkicontheme.sgml @@ -449,6 +449,18 @@ The #GQuark used for #GtkIconThemeError errors. @Returns: + + + + + +@icon_info: +@context: +@was_symbolic: +@error: +@Returns: + + 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); diff --git a/gtk/gtkmodifierstyle.h b/gtk/gtkmodifierstyle.h index 6275b7c657..e211a8070f 100644 --- a/gtk/gtkmodifierstyle.h +++ b/gtk/gtkmodifierstyle.h @@ -67,7 +67,7 @@ void gtk_modifier_style_map_color (GtkModifierStyle *style, void gtk_modifier_style_set_color_property (GtkModifierStyle *style, GType widget_type, const gchar *prop_name, - const GdkColor *color); + const GdkRGBA *color); G_END_DECLS diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 93d5ee4505..2fa0df2a83 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8109,12 +8109,15 @@ gtk_widget_override_symbolic_color (GtkWidget *widget, * style properties. All other style values are left untouched. * See also gtk_widget_modify_style(). * + * Note that the underlying properties have the #GdkColor type, + * so the alpha value in @primary and @secondary will be ignored. + * * Since: 3.0 **/ void -gtk_widget_override_cursor (GtkWidget *widget, - const GdkColor *cursor, - const GdkColor *secondary_cursor) +gtk_widget_override_cursor (GtkWidget *widget, + const GdkRGBA *cursor, + const GdkRGBA *secondary_cursor) { GtkModifierStyle *style; diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 83cdb66270..04f7772daf 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -774,8 +774,8 @@ void gtk_widget_override_symbolic_color (GtkWidget *widget, const gchar *name, const GdkRGBA *color); void gtk_widget_override_cursor (GtkWidget *widget, - const GdkColor *cursor, - const GdkColor *secondary_cursor); + const GdkRGBA *cursor, + const GdkRGBA *secondary_cursor); void gtk_widget_style_attach (GtkWidget *widget);