- dc.DrawLine(m_sashPosition+1, 0, m_sashPosition+1, h);
-
- dc.SetPen(*m_mediumShadowPen);
- dc.DrawLine(m_sashPosition+m_sashSize-2, 1, m_sashPosition+m_sashSize-2, h-1);
+ dc.DrawLine(m_sashPosition+1, m_borderSize - 2, m_sashPosition+1, h - m_borderSize+2);
+
+ if (!HasFlag( wxSP_SASH_AQUA ))
+ dc.SetPen(*m_mediumShadowPen);
+
+ int yMedium = m_borderSize ? h-m_borderSize+1 : h ;
+ dc.DrawLine(m_sashPosition+m_sashSize-2, xShadow, m_sashPosition+m_sashSize-2, yMedium);
+
+ if (HasFlag( wxSP_SASH_AQUA ))
+ dc.SetPen(*m_lightShadowPen);
+ else
+ dc.SetPen(*m_darkShadowPen);
+ dc.DrawLine(m_sashPosition+m_sashSize-1, m_borderSize, m_sashPosition+m_sashSize-1, h-m_borderSize );
+
+ // Draw the top and bottom edges of the sash, if requested
+ if (GetWindowStyle() & wxSP_FULLSASH)
+ {
+ // Top
+ dc.SetPen(*m_hilightPen);
+ dc.DrawLine(m_sashPosition+1, m_borderSize, m_sashPosition+m_sashSize-1, m_borderSize);