]> git.saurik.com Git - wxWidgets.git/commitdiff
Corrected size of staticbox borders when running OS X Panther or higher.
authorDimitri Schoolwerth <dimitri.schoolwerth@gmail.com>
Fri, 12 Dec 2003 21:04:36 +0000 (21:04 +0000)
committerDimitri Schoolwerth <dimitri.schoolwerth@gmail.com>
Fri, 12 Dec 2003 21:04:36 +0000 (21:04 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/sizer.cpp

index 1d187529ff52baf2b3261acbea9a0e97584a0ed2..9dfa1e376d1952e271dd8355115d8d3f526460bb 100644 (file)
@@ -1548,7 +1548,36 @@ static void GetStaticBoxBorders( wxStaticBox *box,
     // guess the thickness of a wxStaticBox border
 #ifdef __WXCOCOA__
     box->GetBordersForSizer(borderTop,borderOther);
-#else // __WXCOCOA__
+#elif defined(__WXMAC__)
+
+    static int extraTop = -1; // Uninitted
+    static int other = 5;
+
+    if ( extraTop == -1 )
+    {
+        int verMaj, verMin;
+        (void) ::wxGetOsVersion(&verMaj, &verMin);
+
+        // The minimal border used for the top. Later on the staticbox'
+        // font height is added to this.
+        extraTop = 0;
+
+        // Is the Mac OS version OS X Panther or higher?
+        if ( ((verMaj << 16) + verMin) >= 0x00100030 )
+        {
+            // As indicated by the HIG, Panther needs an extra border of 11
+            // pixels (otherwise overlapping occurs at the top). The "other"
+            // border has to be 11.
+            extraTop = 11;
+            other = 11; 
+        }
+
+    }
+
+    *borderTop = extraTop + box->GetCharHeight();
+    *borderOther = other;
+
+#else
 #ifdef __WXGTK__
     if ( box->GetLabel().IsEmpty() )
         *borderTop = 5;