From cd4c5274512b344bac417bb72c0c11744f6eb234 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 12 Jun 2011 22:58:10 +0200 Subject: [PATCH] themingengine: Reduce border to 0 on hidden sides Fixes drawing of expanders. --- gtk/gtkthemingengine.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index ae48b6d68..76ebb9c6d 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -1633,6 +1633,20 @@ gtk_theming_engine_render_background (GtkThemingEngine *engine, junction); } +static void +gtk_theming_engine_hide_border_sides (GtkBorder *border, + guint hidden_side) +{ + if (hidden_side & SIDE_TOP) + border->top = 0; + if (hidden_side & SIDE_RIGHT) + border->right = 0; + if (hidden_side & SIDE_BOTTOM) + border->bottom = 0; + if (hidden_side & SIDE_LEFT) + border->left = 0; +} + static void render_frame_internal (GtkThemingEngine *engine, cairo_t *cr, @@ -1657,6 +1671,7 @@ render_frame_internal (GtkThemingEngine *engine, gtk_theming_engine_get_border_color (engine, state, &border_color); gtk_theming_engine_get_border (engine, state, &border); + gtk_theming_engine_hide_border_sides (&border, hidden_side); gtk_theming_engine_get (engine, state, "border-style", &border_style, -- 2.43.2