summaryrefslogtreecommitdiff
path: root/gtk/gtkstyle.c
diff options
context:
space:
mode:
authorPaolo Borelli <pborelli@gnome.org>2011-01-29 12:38:50 +0100
committerPaolo Borelli <pborelli@gnome.org>2011-01-29 12:38:50 +0100
commit9e203417752584b923cf5baec8940836ff2c0bcb (patch)
tree2bfd3477938e587a47cf96401ac336f72b10d7c4 /gtk/gtkstyle.c
parent469f4592d4647cab4b338abdf5a16f91830749cb (diff)
downloadgtk+-9e203417752584b923cf5baec8940836ff2c0bcb.tar.gz
Use GtkRGBA for the cursor color priv api.
Diffstat (limited to 'gtk/gtkstyle.c')
-rw-r--r--gtk/gtkstyle.c41
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().