From b196abe8beac084fe72609e2642f466cc27a35d8 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sat, 11 Jun 2011 06:19:51 +0200 Subject: themingengine: Render inset box shadow on top of backgrounds --- gtk/gtkthemingengine.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gtk/gtkthemingengine.c') diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 67c790a760..47f6b9a575 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -1387,6 +1387,7 @@ render_background_internal (GtkThemingEngine *engine, gboolean running; gdouble progress; GtkRoundedBox border_box; + GtkShadow *box_shadow; flags = gtk_theming_engine_get_state (engine); @@ -1394,6 +1395,7 @@ render_background_internal (GtkThemingEngine *engine, gtk_theming_engine_get (engine, flags, "background-image", &pattern, + "box-shadow", &box_shadow, NULL); cairo_save (cr); @@ -1600,6 +1602,17 @@ render_background_internal (GtkThemingEngine *engine, if (pattern) cairo_pattern_destroy (pattern); + if (box_shadow != NULL) + { + GtkBorder border; + gtk_theming_engine_get_border (engine, flags, &border); + _gtk_rounded_box_shrink (&border_box, + border.top, border.right, + border.bottom, border.left); + _gtk_box_shadow_render (box_shadow, cr, &border_box); + _gtk_shadow_unref (box_shadow); + } + cairo_restore (cr); } -- cgit v1.2.1