diff options
author | Stefano Karapetsas <[email protected]> | 2013-02-24 13:21:26 +0100 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2013-02-24 13:21:26 +0100 |
commit | 4267c0ed145a1a3dd71a961ff0c6cac9aa50e416 (patch) | |
tree | 8a852fada2bae0a15638573f780f37ed36153689 /eel | |
parent | d9bca53b7ee374d61f72d4362ce491cc2f7566c5 (diff) | |
download | caja-4267c0ed145a1a3dd71a961ff0c6cac9aa50e416.tar.bz2 caja-4267c0ed145a1a3dd71a961ff0c6cac9aa50e416.tar.xz |
Dont corrupt the default background color
Diffstat (limited to 'eel')
-rw-r--r-- | eel/eel-background.c | 61 |
1 files changed, 31 insertions, 30 deletions
diff --git a/eel/eel-background.c b/eel/eel-background.c index c2ee1828..d8be8225 100644 --- a/eel/eel-background.c +++ b/eel/eel-background.c @@ -171,32 +171,30 @@ make_color_inactive (EelBackground *self, double intensity, saturation; gushort t; - if (self->details->is_active) { - return; - } - - saturation = 0.7; - intensity = color->red * 0.30 + color->green * 0.59 + color->blue * 0.11; - color->red = SATURATE (color->red); - color->green = SATURATE (color->green); - color->blue = SATURATE (color->blue); + if (!self->details->is_active) { + saturation = 0.7; + intensity = color->red * 0.30 + color->green * 0.59 + color->blue * 0.11; + color->red = SATURATE (color->red); + color->green = SATURATE (color->green); + color->blue = SATURATE (color->blue); + + if (intensity > G_MAXUSHORT / 2) + { + color->red *= 0.9; + color->green *= 0.9; + color->blue *= 0.9; + } + else + { + color->red *= 1.25; + color->green *= 1.25; + color->blue *= 1.25; + } - if (intensity > G_MAXUSHORT / 2) - { - color->red *= 0.9; - color->green *= 0.9; - color->blue *= 0.9; - } - else - { - color->red *= 1.25; - color->green *= 1.25; - color->blue *= 1.25; + color->red = CLAMP_COLOR (color->red); + color->green = CLAMP_COLOR (color->green); + color->blue = CLAMP_COLOR (color->blue); } - - color->red = CLAMP_COLOR (color->red); - color->green = CLAMP_COLOR (color->green); - color->blue = CLAMP_COLOR (color->blue); } gchar * @@ -383,13 +381,13 @@ void eel_background_draw (GtkWidget *widget, # if GTK_CHECK_VERSION (3, 0, 0) cairo_t *cr) -{ # else GdkEventExpose *event) -{ # endif +{ int width, height; GdkWindow *window = gtk_widget_get_window (widget); + GdkColor color; # if !GTK_CHECK_VERSION (3, 0, 0) if (event->window != window) @@ -401,7 +399,8 @@ eel_background_draw (GtkWidget *widget, drawable_get_adjusted_size (self, &width, &height); eel_background_ensure_realized (self); - make_color_inactive (self, &self->details->default_color); + color = self->details->default_color; + make_color_inactive (self, &color); # if GTK_CHECK_VERSION(3,0,0) cairo_save (cr); @@ -413,7 +412,7 @@ eel_background_draw (GtkWidget *widget, cairo_set_source_surface (cr, self->details->bg_surface, 0, 0); cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT); } else { - gdk_cairo_set_source_color (cr, &self->details->default_color); + gdk_cairo_set_source_color (cr, &color); } # if !GTK_CHECK_VERSION (3, 0, 0) @@ -542,13 +541,15 @@ eel_background_set_up_widget (EelBackground *self) { GdkWindow *window; GtkWidget *widget = self->details->widget; + GdkColor color; gboolean in_fade = FALSE; if (!gtk_widget_get_realized (widget)) return; eel_background_ensure_realized (self); - make_color_inactive (self, &self->details->default_color); + color = self->details->default_color; + make_color_inactive (self, &color); if (self->details->bg_surface == NULL) return; @@ -580,7 +581,7 @@ eel_background_set_up_widget (EelBackground *self) } else { - gdk_window_set_background (window, &self->details->default_color); + gdk_window_set_background (window, &color); # if !GTK_CHECK_VERSION (3, 0, 0) gdk_window_set_back_pixmap (window, self->details->bg_surface, FALSE); # endif |