]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/bmpbuttn.cpp
64 bit compilation fix (pointer can't be cast to int); code simplification (don't...
[wxWidgets.git] / src / msw / bmpbuttn.cpp
index d40d422eda00b0982cedd213a304a16e114b101a..4d982db963a8db9e6e061c68a247b531c0b8a829 100644 (file)
@@ -103,8 +103,6 @@ bitmap "focus" ,
 bitmap "disabled" ,
 */
 
-#define BUTTON_HEIGHT_FACTOR (EDIT_CONTROL_FACTOR * 1.1)
-
 bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id,
     const wxBitmap& bitmap,
     const wxPoint& pos,
@@ -492,26 +490,16 @@ void wxBitmapButton::SetDefault()
 
 wxSize wxBitmapButton::DoGetBestSize() const
 {
-    wxSize best;
-    if (m_bmpNormal.Ok())
-    {
-        best.x = m_bmpNormal.GetWidth() + 2*m_marginX;
-        best.y = m_bmpNormal.GetHeight() + 2*m_marginY;
-    }
-
-    // all buttons have at least the standard size unless the user explicitly
-    // wants them to be of smaller size and used wxBU_EXACTFIT style when
-    // creating the button
-    if ( !HasFlag(wxBU_EXACTFIT) )
+    if ( m_bmpNormal.Ok() )
     {
-        wxSize sz = GetDefaultSize();
-        if (best.x > sz.x)
-            sz.x = best.x;
-        if (best.y > sz.y)
-            sz.y = best.y;
+        wxSize best(m_bmpNormal.GetWidth() + 2*m_marginX,
+                      m_bmpNormal.GetHeight() + 2*m_marginY);
+        CacheBestSize(best);
+        return best;
     }
 
-    return best;
+    // no idea what our best size should be, defer to the base class
+    return wxBitmapButtonBase::DoGetBestSize();
 }
 
 #endif // wxUSE_BMPBUTTON