]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix wxBitmapButton best size calculation in wxOSX/Carbon.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 28 Apr 2012 22:24:36 +0000 (22:24 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 28 Apr 2012 22:24:36 +0000 (22:24 +0000)
wxAnyButton refactoring broke the best size computation for Carbon, fix it to
work as it did before.

Closes #13830.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/carbon/anybutton.cpp

index 36a642a698ed8ba41c2e0629b44a502a8d166b55..b24b73b47c1f82abb63d37584337a6c89c03a57c 100644 (file)
@@ -53,7 +53,17 @@ wxSize wxAnyButton::DoGetBestSize() const
     GetPeer()->GetBestRect( &bestsize ) ;
 
     int wBtn;
     GetPeer()->GetBestRect( &bestsize ) ;
 
     int wBtn;
-    if ( EmptyRect( &bestsize ) || ( GetWindowStyle() & wxBU_EXACTFIT) )
+    if ( GetBitmapLabel().IsOk() )
+    {
+        sz.x = bestsize.right - bestsize.left ;
+        sz.y = bestsize.bottom - bestsize.top ;
+        sz.x  = sz.x  + MacGetLeftBorderSize() +
+        MacGetRightBorderSize();
+        sz.y = sz.y + MacGetTopBorderSize() +
+        MacGetBottomBorderSize();
+        wBtn = sz.x;
+    }
+    else if ( EmptyRect( &bestsize ) || ( GetWindowStyle() & wxBU_EXACTFIT) )
     {
         Point bounds;
 
     {
         Point bounds;