Updating branch refs/heads/peter/refresh to e91f7cd0cfa190a3e71f246793dd4a7cae9953d0 (commit) from 8358551451918f61947dbd9e0066ee8a08b51149 (commit)
commit e91f7cd0cfa190a3e71f246793dd4a7cae9953d0 Author: Peter de Ridder <pe...@xfce.org> Date: Sun Jan 5 14:00:38 2014 +0100 Use parent background for smooth edges. gtk-2.0/xfce_theme_draw.c | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/gtk-2.0/xfce_theme_draw.c b/gtk-2.0/xfce_theme_draw.c index 1e0c0db..f2a4abd 100644 --- a/gtk-2.0/xfce_theme_draw.c +++ b/gtk-2.0/xfce_theme_draw.c @@ -383,6 +383,9 @@ static void draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state { gint xt, yt; cairo_t *cr; + GtkWidget *parent; + GtkStyle *pstyle; + GdkColor *pbg; CHECK_ARGS; @@ -391,6 +394,17 @@ static void draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state SANITIZE_SIZE; + parent = gtk_widget_get_parent(widget); + if (parent) + { + pstyle = gtk_widget_get_style(widget); + pbg = &pstyle->bg[gtk_widget_get_state(parent)]; + } + else + { + pbg = &style->mid[state_type]; + } + /* Spin buttons are a special case */ if (widget && GTK_IS_SPIN_BUTTON (widget)) { @@ -465,7 +479,7 @@ static void draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state state_type = GTK_STATE_NORMAL; } - gdk_cairo_set_source_color(cr, &style->mid[state_type]); + gdk_cairo_set_source_color(cr, pbg); cairo_rectangle(cr, x, y, 1, 1); cairo_rectangle(cr, x + width - 1, y, 1, 1); cairo_rectangle(cr, x, y + height - 1, 1, 1); @@ -559,7 +573,7 @@ static void draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state cairo_rectangle(cr, x + 0.5, y + 0.5, width - 1, height - 1); cairo_stroke(cr); - gdk_cairo_set_source_color(cr, &style->mid[GTK_STATE_NORMAL]); + gdk_cairo_set_source_color(cr, pbg); cairo_rectangle(cr, x, y, 1, 1); cairo_rectangle(cr, x + width - 1, y, 1, 1); cairo_rectangle(cr, x, y + height - 1, 1, 1); @@ -592,7 +606,7 @@ static void draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state cairo_line_to(cr, x + width - 1.5, y + 2.5); cairo_stroke(cr); - gdk_cairo_set_source_color(cr, &style->mid[state_type]); + gdk_cairo_set_source_color(cr, pbg); cairo_rectangle(cr, x, y, 1, 1); cairo_rectangle(cr, x + width - 1, y, 1, 1); cairo_rectangle(cr, x, y + height - 1, 1, 1); @@ -614,7 +628,7 @@ static void draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state cairo_line_to(cr, x + width - 0.5, y + 1.5); cairo_stroke(cr); - gdk_cairo_set_source_color(cr, &style->mid[state_type]); + gdk_cairo_set_source_color(cr, pbg); cairo_rectangle(cr, x, y, 1, 1); cairo_rectangle(cr, x + width - 1, y, 1, 1); cairo_rectangle(cr, x, y + height - 1, 1, 1); @@ -685,7 +699,7 @@ static void draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state cairo_rectangle(cr, x + 0.5, y + 0.5, width - 1, height - 1); cairo_stroke(cr); - gdk_cairo_set_source_color(cr, &style->mid[GTK_STATE_NORMAL]); + gdk_cairo_set_source_color(cr, pbg); cairo_rectangle(cr, x, y, 1, 1); cairo_rectangle(cr, x + width - 1, y, 1, 1); cairo_rectangle(cr, x, y + height - 1, 1, 1); @@ -865,7 +879,7 @@ static void draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state cairo_line_to(cr, x + width - 1.5, y + 1.5); cairo_stroke(cr); - gdk_cairo_set_source_color(cr, &style->mid[state_type]); + gdk_cairo_set_source_color(cr, pbg); cairo_rectangle(cr, x, y, 1, 1); cairo_rectangle(cr, x + width - 1, y, 1, 1); cairo_rectangle(cr, x, y + height - 1, 1, 1); @@ -887,7 +901,7 @@ static void draw_shadow(GtkStyle * style, GdkWindow * window, GtkStateType state cairo_line_to(cr, x + width - 0.5, y + 1.5); cairo_stroke(cr); - gdk_cairo_set_source_color(cr, &style->mid[state_type]); + gdk_cairo_set_source_color(cr, pbg); cairo_rectangle(cr, x, y, 1, 1); cairo_rectangle(cr, x + width - 1, y, 1, 1); cairo_rectangle(cr, x, y + height - 1, 1, 1); _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits