diff --git a/src/generic/renderg.cpp b/src/generic/renderg.cpp index 758e30835b..31314d11b8 100644 --- a/src/generic/renderg.cpp +++ b/src/generic/renderg.cpp @@ -267,28 +267,36 @@ wxRendererGeneric::DrawSplitterSash(wxWindow *win, // only the middle 3 columns are drawn unless wxSP_3D is specified const wxCoord h = size.y; + wxCoord offset = 0; + + // If we're not drawing the border, droppings will + // be left unless we make the sash shorter + if ( !win->HasFlag(wxSP_3DBORDER) ) + { + offset = 3; + } // from left to right if ( win->HasFlag(wxSP_3D) ) { dc.SetPen(m_penLightGrey); - dc.DrawLine(position, 1, position, h - 1); + dc.DrawLine(position, 1 + offset, position, h - 1 - offset); dc.SetPen(m_penHighlight); - dc.DrawLine(position + 1, 0, position + 1, h); + dc.DrawLine(position + 1, offset, position + 1, h - offset); } dc.SetPen(*wxTRANSPARENT_PEN); dc.SetBrush(wxBrush(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE))); - dc.DrawRectangle(position + 2, 0, 3, h); + dc.DrawRectangle(position + 2, offset, 3, h - 2*offset); if ( win->HasFlag(wxSP_3D) ) { dc.SetPen(m_penDarkGrey); - dc.DrawLine(position + 5, 0, position + 5, h); + dc.DrawLine(position + 5, offset, position + 5, h - offset); dc.SetPen(m_penBlack); - dc.DrawLine(position + 6, 1, position + 6, h - 1); + dc.DrawLine(position + 6, offset, position + 6, h - 1 - offset); } }