X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c7d6d88330dac6c5c5b4b2ed94ec91b6a46066a1..400a9e419b229cd511d73922bd5506aaab3b120e:/src/gtk1/bmpbuttn.cpp diff --git a/src/gtk1/bmpbuttn.cpp b/src/gtk1/bmpbuttn.cpp index dda2040146..2c7762f095 100644 --- a/src/gtk1/bmpbuttn.cpp +++ b/src/gtk1/bmpbuttn.cpp @@ -150,11 +150,11 @@ bool wxBitmapButton::Create( wxWindow *parent, if (m_bmpNormal.Ok()) { wxSize newSize = size; - int border = (style & wxNO_BORDER) ? 4 : 10; + wxSize bestSize = DoGetBestSize(); if (newSize.x == -1) - newSize.x = m_bmpNormal.GetWidth()+border; + newSize.x = bestSize.x; if (newSize.y == -1) - newSize.y = m_bmpNormal.GetHeight()+border; + newSize.y = bestSize.y; SetSize( newSize.x, newSize.y ); OnSetBitmap(); } @@ -258,6 +258,19 @@ void wxBitmapButton::OnSetBitmap() } } +wxSize wxBitmapButton::DoGetBestSize() const +{ + wxSize best; + + if (m_bmpNormal.Ok()) + { + int border = HasFlag(wxNO_BORDER) ? 4 : 10; + best.x = m_bmpNormal.GetWidth()+border; + best.y = m_bmpNormal.GetHeight()+border; + } + return best; +} + bool wxBitmapButton::Enable( bool enable ) { if ( !wxWindow::Enable(enable) )