diff options
author | Paolo Borelli <pborelli@gnome.org> | 2011-01-29 12:38:50 +0100 |
---|---|---|
committer | Paolo Borelli <pborelli@gnome.org> | 2011-01-29 12:38:50 +0100 |
commit | 9e203417752584b923cf5baec8940836ff2c0bcb (patch) | |
tree | 2bfd3477938e587a47cf96401ac336f72b10d7c4 /gtk/gtkstyle.c | |
parent | 469f4592d4647cab4b338abdf5a16f91830749cb (diff) | |
download | gtk+-9e203417752584b923cf5baec8940836ff2c0bcb.tar.gz |
Use GtkRGBA for the cursor color priv api.
Diffstat (limited to 'gtk/gtkstyle.c')
-rw-r--r-- | gtk/gtkstyle.c | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index b9312c85d2..a234a34d23 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -3974,7 +3974,7 @@ gtk_paint_spinner (GtkStyle *style, static void get_cursor_color (GtkStyleContext *context, gboolean primary, - GdkColor *color) + GdkRGBA *color) { GdkColor *style_color; @@ -3985,36 +3985,33 @@ get_cursor_color (GtkStyleContext *context, if (style_color) { - *color = *style_color; - gdk_color_free (style_color); - } - else if (primary) - { - GdkRGBA fg; + color->red = style_color->red / 65535; + color->green = style_color->green / 65535; + color->blue = style_color->blue / 65535; + color->alpha = 1; - gtk_style_context_get_color (context, GTK_STATE_FLAG_NORMAL, &fg); - - color->red = fg.red * 65535; - color->green = fg.green * 65535; - color->blue = fg.blue * 65535; + gdk_color_free (style_color); } else { - GdkRGBA fg; - GdkRGBA bg; + gtk_style_context_get_color (context, GTK_STATE_FLAG_NORMAL, color); + + if (!primary) + { + GdkRGBA bg; - gtk_style_context_get_color (context, GTK_STATE_FLAG_NORMAL, &fg); - gtk_style_context_get_background_color (context, GTK_STATE_FLAG_NORMAL, &bg); + gtk_style_context_get_background_color (context, GTK_STATE_FLAG_NORMAL, &bg); - color->red = (fg.red + bg.red) * 0.5 * 65535; - color->green = (fg.green + bg.green) * 0.5 * 65535; - color->blue = (fg.blue + bg.blue) * 0.5 * 65535; + color->red = (color->red + bg.red) * 0.5; + color->green = (color->green + bg.green) * 0.5; + color->blue = (color->blue + bg.blue) * 0.5; + } } } void _gtk_widget_get_cursor_color (GtkWidget *widget, - GdkColor *color) + GdkRGBA *color) { GtkStyleContext *context; @@ -4053,7 +4050,7 @@ gtk_draw_insertion_cursor (GtkWidget *widget, gfloat cursor_aspect_ratio; gint offset; GtkStyleContext *context; - GdkColor color; + GdkRGBA color; g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (cr != NULL); @@ -4063,7 +4060,7 @@ gtk_draw_insertion_cursor (GtkWidget *widget, context = gtk_widget_get_style_context (widget); get_cursor_color (context, is_primary, &color); - gdk_cairo_set_source_color (cr, &color); + gdk_cairo_set_source_rgba (cr, &color); /* When changing the shape or size of the cursor here, * propagate the changes to gtktextview.c:text_window_invalidate_cursors(). |