void wxBitmapButton::DrawButtonDisable( wxClientDC& rDC , wxBitmap& rBmp ) { wxPen vGreyPen(wxColour(128, 128, 128), 2, wxSOLID); // // Draw a thick black line around the outside of the button // rDC.SetPen(vGreyPen); rDC.DrawLine( rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yTop ,rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yTop ); rDC.DrawLine( rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yTop ,rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yBottom ); rDC.DrawLine( rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yBottom ,rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yBottom ); rDC.DrawLine( rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yBottom ,rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yTop ); wxDisableBitmap(rBmp, vGreyPen.GetColour().GetPixel()); } // end of wxBitmapButton::DrawButtonDisable
void wxBitmapButton::DrawButtonFocus ( wxClientDC& rDC ) { wxPen vBlackPen(wxColour(0, 0, 0), 2, wxSOLID); // // Draw a thick black line around the outside of the button // rDC.SetPen(vBlackPen); rDC.DrawLine( rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yTop ,rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yTop ); rDC.DrawLine( rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yTop ,rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yBottom ); rDC.DrawLine( rDC.m_vRclPaint.xRight ,rDC.m_vRclPaint.yBottom ,rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yBottom ); rDC.DrawLine( rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yBottom ,rDC.m_vRclPaint.xLeft ,rDC.m_vRclPaint.yTop ); } // end of wxBitmapButton::DrawButtonFocus
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
void wxBitmapButton::DrawButtonDisable( wxClientDC& rDC, wxBitmap& rBmp ) { wxPen vGreyPen(wxT("GREY"), 2, wxSOLID); // // Draw a thick black line around the outside of the button // Note: DrawLine expects wxWidgets coordinate system so swap // rDC.SetPen(vGreyPen); wxPMDCImpl *impl = (wxPMDCImpl*) rDC.GetImpl(); // top rDC.DrawLine( impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yBottom ,impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yBottom ); // right rDC.DrawLine( impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yBottom ,impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yTop ); // bottom rDC.DrawLine( impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yTop ,impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yTop ); // left rDC.DrawLine( impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yTop ,impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yBottom ); wxDisableBitmap(rBmp, vGreyPen.GetColour().GetPixel()); } // end of wxBitmapButton::DrawButtonDisable
void wxBitmapButton::DrawButtonFocus ( wxClientDC& rDC ) { wxPen vBlackPen(*wxBLACK, 2, wxSOLID); // // Draw a thick black line around the outside of the button // Note: DrawLine expects wxWidgets coordinate system so swap // rDC.SetPen(vBlackPen); wxPMDCImpl *impl = (wxPMDCImpl*) rDC.GetImpl(); // top rDC.DrawLine( impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yBottom ,impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yBottom ); // right rDC.DrawLine( impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yBottom ,impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yTop ); // bottom rDC.DrawLine( impl->m_vRclPaint.xRight ,impl->m_vRclPaint.yTop ,impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yTop ); // left rDC.DrawLine( impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yTop ,impl->m_vRclPaint.xLeft ,impl->m_vRclPaint.yBottom ); } // end of wxBitmapButton::DrawButtonFocus