//---------------------------------------------------------------------------
bool wxBitmapButton::Create( wxWindow *parent,
- wxWindowID id, const wxBitmap& bitmap,
+ wxWindowID id,
+ const wxBitmap& bitmap,
const wxPoint& pos,
const wxSize& size,
long style,
{
m_macIsUserPane = false;
- // since bitmapbuttonbase is subclass of button calling wxBitmapButtonBase::Create
- // essentially creates an additional button
if ( !wxControl::Create( parent, id, pos, size, style, validator, name ) )
return false;
m_marginY = 0;
}
- m_bmpNormal = bitmap;
+ m_bitmaps[State_Normal] = bitmap;
m_peer = wxWidgetImpl::CreateBitmapButton( this, parent, id, bitmap, pos, size, style, GetExtraStyle() );
}
void wxBitmapButton::SetBitmapLabel( const wxBitmap& bitmap )
-{
+{
InvalidateBestSize();
-
+
m_peer->SetBitmap( bitmap );
}
wxSize wxBitmapButton::DoGetBestSize() const
{
- wxSize best;
+ wxSize best(m_marginX, m_marginY);
- best.x = 2 * m_marginX;
- best.y = 2 * m_marginY;
- if ( m_bmpNormal.Ok() )
+ best *= 2;
+
+ if ( GetBitmapLabel().IsOk() )
{
- best.x += m_bmpNormal.GetWidth();
- best.y += m_bmpNormal.GetHeight();
+ best += GetBitmapLabel().GetSize();
}
return best;
}
-#endif
+#endif // wxUSE_BMPBUTTON