void wxBitmapButton::DrawFace (wxClientDC& rDC, bool bSel) { // // Set up drawing colors // wxPen vHiLitePen(*wxWHITE, 2, wxSOLID); // White wxColour gray85(85, 85, 85); wxPen vDarkShadowPen(gray85, 2, wxSOLID); wxColour vFaceColor(204, 204, 204); // Light Grey // // Draw the main button face // // This triggers a redraw and destroys the bottom & left focus border and // doesn't seem to do anything useful. // ::WinFillRect(rDC.GetHPS(), &rDC.m_vRclPaint, vFaceColor.GetPixel()); // // Draw the border // Note: DrawLine expects wxWidgets coordinate system so swap // rDC.SetPen(bSel ? vDarkShadowPen : vHiLitePen); wxPMDCImpl *impl = (wxPMDCImpl*) rDC.GetImpl(); // top rDC.DrawLine( impl->m_vRclPaint.xLeft + 1 ,impl->m_vRclPaint.yBottom + 1 ,impl->m_vRclPaint.xRight - 1 ,impl->m_vRclPaint.yBottom + 1 ); // left rDC.DrawLine( impl->m_vRclPaint.xLeft + 1 ,impl->m_vRclPaint.yBottom + 1 ,impl->m_vRclPaint.xLeft + 1 ,impl->m_vRclPaint.yTop - 1 ); rDC.SetPen(bSel ? vHiLitePen : vDarkShadowPen); // bottom rDC.DrawLine( impl->m_vRclPaint.xLeft + 1 ,impl->m_vRclPaint.yTop - 1 ,impl->m_vRclPaint.xRight - 1 ,impl->m_vRclPaint.yTop - 1 ); // right rDC.DrawLine( impl->m_vRclPaint.xRight - 1 ,impl->m_vRclPaint.yBottom + 1 ,impl->m_vRclPaint.xRight - 1 ,impl->m_vRclPaint.yTop - 1 ); } // end of wxBitmapButton::DrawFace
void wxBitmapButton::DrawFace ( wxClientDC& rDC , bool bSel ) { // // Set up drawing colors // wxPen vHiLitePen(wxColour(255, 255, 255), 2, wxSOLID); // White wxPen vDarkShadowPen(wxColour(85, 85, 85), 2, wxSOLID); wxColour vFaceColor(wxColour(204, 204, 204)); // Light Grey // // Draw the main button face // ::WinFillRect(rDC.GetHPS(), &rDC.m_vRclPaint, vFaceColor.GetPixel()); // // Draw the border // rDC.SetPen(bSel ? vDarkShadowPen : vHiLitePen); rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1 ,rDC.m_vRclPaint.yTop - 1 ,rDC.m_vRclPaint.xRight - 1 ,rDC.m_vRclPaint.yTop - 1 ); rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1 ,rDC.m_vRclPaint.yTop - 1 ,rDC.m_vRclPaint.xLeft + 1 ,rDC.m_vRclPaint.yBottom + 1 ); rDC.SetPen(bSel ? vHiLitePen : vDarkShadowPen); rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1 ,rDC.m_vRclPaint.yBottom + 1 ,rDC.m_vRclPaint.xRight - 1 ,rDC.m_vRclPaint.yBottom + 1 ); rDC.DrawLine( rDC.m_vRclPaint.xRight - 1 ,rDC.m_vRclPaint.yTop - 1 ,rDC.m_vRclPaint.xRight - 1 ,rDC.m_vRclPaint.yBottom + 1 ); } // end of wxBitmapButton::DrawFace