themingengine: Reduce border to 0 on hidden sides

Fixes drawing of expanders.
This commit is contained in:
Benjamin Otte 2011-06-12 22:58:10 +02:00
parent 8b0bffc3a2
commit cd4c527451

View File

@ -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,