git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40141
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
//
// Centre the bitmap in the control area
//
//
// Centre the bitmap in the control area
//
int nX1 = 0;
int nY1 = 0;
int nWidth = vDc.m_vRclPaint.xRight - vDc.m_vRclPaint.xLeft;
int nX1 = 0;
int nY1 = 0;
int nWidth = vDc.m_vRclPaint.xRight - vDc.m_vRclPaint.xLeft;
- int nHeight = vDc.m_vRclPaint.xRight - vDc.m_vRclPaint.xLeft;
+ int nHeight = vDc.m_vRclPaint.yTop - vDc.m_vRclPaint.yBottom;
int nBmpWidth = pBitmap->GetWidth();
int nBmpHeight = pBitmap->GetHeight();
int nBmpWidth = pBitmap->GetWidth();
int nBmpHeight = pBitmap->GetHeight();
- nX1 = nX + (nWidth - nBmpWidth) / 2;
- nY1 = nX + (nHeight - nBmpHeight) / 2;
+ nX1 = (nWidth - nBmpWidth) / 2;
+ nY1 = (nHeight - nBmpHeight) / 2;
if (bIsSelected && bAutoDraw)
{
if (bIsSelected && bAutoDraw)
{
//
// Draw the button face
//
//
// Draw the button face
//
- {
- DrawFace( vDc
- ,bIsSelected
- );
- }
+ DrawFace( vDc, bIsSelected );
//
if ((pUser->fsState == BDS_DISABLED) && bAutoDraw)
{
//
if ((pUser->fsState == BDS_DISABLED) && bAutoDraw)
{
- DrawButtonDisable( vDc
- ,*pBitmap
- );
+ DrawButtonDisable( vDc, *pBitmap );
}
else if ((pUser->fsState == BDS_DEFAULT) && bAutoDraw)
{
}
else if ((pUser->fsState == BDS_DEFAULT) && bAutoDraw)
{
//
// Draw the main button face
//
//
// Draw the main button face
//
- ::WinFillRect(rDC.GetHPS(), &rDC.m_vRclPaint, vFaceColor.GetPixel());
+ // 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());
+ // Note: DrawLine expects wxWidgets coordinate system so swap
//
rDC.SetPen(bSel ? vDarkShadowPen : vHiLitePen);
//
rDC.SetPen(bSel ? vDarkShadowPen : vHiLitePen);
rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1
rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1
- ,rDC.m_vRclPaint.yTop - 1
+ ,rDC.m_vRclPaint.yBottom + 1
,rDC.m_vRclPaint.xRight - 1
,rDC.m_vRclPaint.xRight - 1
- ,rDC.m_vRclPaint.yTop - 1
+ ,rDC.m_vRclPaint.yBottom + 1
rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1
rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1
- ,rDC.m_vRclPaint.yTop - 1
- ,rDC.m_vRclPaint.xLeft + 1
,rDC.m_vRclPaint.yBottom + 1
,rDC.m_vRclPaint.yBottom + 1
+ ,rDC.m_vRclPaint.xLeft + 1
+ ,rDC.m_vRclPaint.yTop - 1
);
rDC.SetPen(bSel ? vHiLitePen : vDarkShadowPen);
);
rDC.SetPen(bSel ? vHiLitePen : vDarkShadowPen);
rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1
rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1
- ,rDC.m_vRclPaint.yBottom + 1
+ ,rDC.m_vRclPaint.yTop - 1
,rDC.m_vRclPaint.xRight - 1
,rDC.m_vRclPaint.xRight - 1
- ,rDC.m_vRclPaint.yBottom + 1
+ ,rDC.m_vRclPaint.yTop - 1
rDC.DrawLine( rDC.m_vRclPaint.xRight - 1
rDC.DrawLine( rDC.m_vRclPaint.xRight - 1
- ,rDC.m_vRclPaint.yTop - 1
- ,rDC.m_vRclPaint.xRight - 1
,rDC.m_vRclPaint.yBottom + 1
,rDC.m_vRclPaint.yBottom + 1
+ ,rDC.m_vRclPaint.xRight - 1
+ ,rDC.m_vRclPaint.yTop - 1
);
} // end of wxBitmapButton::DrawFace
);
} // end of wxBitmapButton::DrawFace
//
// Draw a thick black line around the outside of the button
//
// Draw a thick black line around the outside of the button
+ // Note: DrawLine expects wxWidgets coordinate system so swap
//
rDC.SetPen(vBlackPen);
//
rDC.SetPen(vBlackPen);
rDC.DrawLine( rDC.m_vRclPaint.xLeft
rDC.DrawLine( rDC.m_vRclPaint.xLeft
+ ,rDC.m_vRclPaint.yBottom
+ ,rDC.m_vRclPaint.yBottom
rDC.DrawLine( rDC.m_vRclPaint.xRight
rDC.DrawLine( rDC.m_vRclPaint.xRight
- ,rDC.m_vRclPaint.yTop
- ,rDC.m_vRclPaint.xRight
+ ,rDC.m_vRclPaint.xRight
+ ,rDC.m_vRclPaint.yTop
rDC.DrawLine( rDC.m_vRclPaint.xRight
rDC.DrawLine( rDC.m_vRclPaint.xRight
- ,rDC.m_vRclPaint.yBottom
- ,rDC.m_vRclPaint.yBottom
rDC.DrawLine( rDC.m_vRclPaint.xLeft
rDC.DrawLine( rDC.m_vRclPaint.xLeft
- ,rDC.m_vRclPaint.yBottom
- ,rDC.m_vRclPaint.xLeft
+ ,rDC.m_vRclPaint.xLeft
+ ,rDC.m_vRclPaint.yBottom
);
} // end of wxBitmapButton::DrawButtonFocus
);
} // end of wxBitmapButton::DrawButtonFocus
//
// Draw a thick black line around the outside of the button
//
// Draw a thick black line around the outside of the button
+ // Note: DrawLine expects wxWidgets coordinate system so swap
rDC.DrawLine( rDC.m_vRclPaint.xLeft
rDC.DrawLine( rDC.m_vRclPaint.xLeft
+ ,rDC.m_vRclPaint.yBottom
+ ,rDC.m_vRclPaint.yBottom
rDC.DrawLine( rDC.m_vRclPaint.xRight
rDC.DrawLine( rDC.m_vRclPaint.xRight
- ,rDC.m_vRclPaint.yTop
- ,rDC.m_vRclPaint.xRight
+ ,rDC.m_vRclPaint.xRight
+ ,rDC.m_vRclPaint.yTop
rDC.DrawLine( rDC.m_vRclPaint.xRight
rDC.DrawLine( rDC.m_vRclPaint.xRight
- ,rDC.m_vRclPaint.yBottom
- ,rDC.m_vRclPaint.yBottom
rDC.DrawLine( rDC.m_vRclPaint.xLeft
rDC.DrawLine( rDC.m_vRclPaint.xLeft
- ,rDC.m_vRclPaint.yBottom
- ,rDC.m_vRclPaint.xLeft
+ ,rDC.m_vRclPaint.xLeft
+ ,rDC.m_vRclPaint.yBottom
);
wxDisableBitmap(rBmp, vGreyPen.GetColour().GetPixel());
} // end of wxBitmapButton::DrawButtonDisable
);
wxDisableBitmap(rBmp, vGreyPen.GetColour().GetPixel());
} // end of wxBitmapButton::DrawButtonDisable