]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/button.cpp
compilation fix for Mac and reformatted the code
[wxWidgets.git] / src / univ / button.cpp
index b06789a25d7ee39caad11d32bd2c52fe0e05a8c9..5d4410bbd24308495d08ae109606149537d77956 100644 (file)
@@ -34,6 +34,7 @@
     #include "wx/dcscreen.h"
     #include "wx/button.h"
     #include "wx/validate.h"
+    #include "wx/settings.h"
 #endif
 
 #include "wx/univ/renderer.h"
@@ -112,8 +113,11 @@ wxSize wxButtonBase::GetDefaultSize()
 
         // this corresponds more or less to wxMSW standard in Win32 theme (see
         // wxWin32Renderer::AdjustSize())
-        s_sizeBtn.x = 8*dc.GetCharWidth();
-        s_sizeBtn.y = (11*dc.GetCharHeight())/10 + 2;
+//        s_sizeBtn.x = 8*dc.GetCharWidth();
+//        s_sizeBtn.y = (11*dc.GetCharHeight())/10 + 2;
+        // Otto Wyss, Patch 664399
+        s_sizeBtn.x = dc.GetCharWidth()*10 + 2;
+        s_sizeBtn.y = dc.GetCharHeight()*11/10 + 2;
     }
 
     return s_sizeBtn;
@@ -135,17 +139,23 @@ wxSize wxButton::DoGetBestClientSize() const
         width += m_bitmap.GetWidth() + 2*m_marginBmpX;
     }
 
+    // The default size should not be adjusted, so the code is moved into the 
+    // renderer. This is conceptual wrong but currently the only solution.
+    // (Otto Wyss, Patch 664399)
+
+/*
     // for compatibility with other ports, the buttons default size is never
-    // less than the standard one
-#ifndef __WXX11__
-    if ( !(GetWindowStyle() & wxBU_EXACTFIT) )
+    // less than the standard one, but not when display not PDAs.
+    if (wxSystemSettings::GetScreenType() > wxSYS_SCREEN_PDA)
     {
-        wxSize szDef = GetDefaultSize();
-        if ( width < szDef.x )
-            width = szDef.x;
+        if ( !(GetWindowStyle() & wxBU_EXACTFIT) )
+        {
+            wxSize szDef = GetDefaultSize();
+            if ( width < szDef.x )
+                width = szDef.x;
+        }
     }
-#endif
-
+*/
     return wxSize(width, height);
 }