[gtk+] themingengine: apply image effects according to GtkCssImageEffect value
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] themingengine: apply image effects according to GtkCssImageEffect value
- Date: Tue, 20 Aug 2013 01:04:35 +0000 (UTC)
commit b6cf6d52eff7555903ea379ed77754798077d208
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Sun Aug 4 11:39:49 2013 +0200
themingengine: apply image effects according to GtkCssImageEffect value
Instead of only looking at the state flags.
https://bugzilla.gnome.org/show_bug.cgi?id=705443
gtk/gtkthemingengine.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c
index d7466e6..ee9a1a4 100644
--- a/gtk/gtkthemingengine.c
+++ b/gtk/gtkthemingengine.c
@@ -2700,6 +2700,7 @@ gtk_theming_engine_render_icon_pixbuf (GtkThemingEngine *engine,
cairo_t *cr;
cairo_surface_t *surface;
gboolean wildcarded;
+ GtkCssImageEffect image_effect;
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
base_pixbuf = gtk_icon_source_get_pixbuf (source);
@@ -2735,7 +2736,11 @@ gtk_theming_engine_render_icon_pixbuf (GtkThemingEngine *engine,
if (!wildcarded)
return scaled;
- if (state & GTK_STATE_FLAG_INSENSITIVE)
+ image_effect = _gtk_css_image_effect_value_get
+ (_gtk_theming_engine_peek_property (engine, GTK_CSS_PROPERTY_GTK_IMAGE_EFFECT));
+
+ if (image_effect == GTK_CSS_IMAGE_EFFECT_DIM ||
+ state & GTK_STATE_FLAG_INSENSITIVE)
{
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
gdk_pixbuf_get_width (scaled),
@@ -2752,7 +2757,8 @@ gtk_theming_engine_render_icon_pixbuf (GtkThemingEngine *engine,
cairo_image_surface_get_height (surface));
cairo_surface_destroy (surface);
}
- else if (state & GTK_STATE_FLAG_PRELIGHT)
+ else if (image_effect == GTK_CSS_IMAGE_EFFECT_HIGHLIGHT ||
+ state & GTK_STATE_FLAG_PRELIGHT)
{
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
gdk_pixbuf_get_width (scaled),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]