Clarify wxButton::AdjustForBitmapSize() semantics in wxMSW.
This method should only be called if we do have an image, assert (instead of silently returning) if it's called when we don't. Also explain in a comment why do we need to call CacheBestSize() only when we have an image in DoGetBestSize(). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -88,8 +88,10 @@ protected:
|
|||||||
virtual void DoSetBitmapMargins(wxCoord x, wxCoord y);
|
virtual void DoSetBitmapMargins(wxCoord x, wxCoord y);
|
||||||
virtual void DoSetBitmapPosition(wxDirection dir);
|
virtual void DoSetBitmapPosition(wxDirection dir);
|
||||||
|
|
||||||
// Increases the passed in size if necessary to account for the
|
// Increases the passed in size to account for the button image.
|
||||||
// button image, if any
|
//
|
||||||
|
// Should only be called if we do have a button, i.e. if m_imageData is
|
||||||
|
// non-NULL.
|
||||||
void AdjustForBitmapSize(wxSize& size) const;
|
void AdjustForBitmapSize(wxSize& size) const;
|
||||||
|
|
||||||
class wxButtonImageData *m_imageData;
|
class wxButtonImageData *m_imageData;
|
||||||
|
@@ -531,8 +531,7 @@ void wxButton::SetLabel(const wxString& label)
|
|||||||
|
|
||||||
void wxButton::AdjustForBitmapSize(wxSize &size) const
|
void wxButton::AdjustForBitmapSize(wxSize &size) const
|
||||||
{
|
{
|
||||||
if ( !m_imageData )
|
wxCHECK_RET( m_imageData, wxT("shouldn't be called if no image") );
|
||||||
return;
|
|
||||||
|
|
||||||
// account for the bitmap size
|
// account for the bitmap size
|
||||||
const wxSize sizeBmp = m_imageData->GetBitmap(State_Normal).GetSize();
|
const wxSize sizeBmp = m_imageData->GetBitmap(State_Normal).GetSize();
|
||||||
@@ -614,6 +613,8 @@ wxSize wxButton::DoGetBestSize() const
|
|||||||
{
|
{
|
||||||
AdjustForBitmapSize(size);
|
AdjustForBitmapSize(size);
|
||||||
|
|
||||||
|
// The best size has changed so even if it had been already cached by
|
||||||
|
// ComputeBestSize() call above we still need to update it.
|
||||||
CacheBestSize(size);
|
CacheBestSize(size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user