From: Dimitri Schoolwerth Date: Fri, 12 Dec 2003 21:04:36 +0000 (+0000) Subject: Corrected size of staticbox borders when running OS X Panther or higher. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/670211021660f7adf0feed73da3a7065e863f132?ds=sidebyside Corrected size of staticbox borders when running OS X Panther or higher. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp index 1d187529ff..9dfa1e376d 100644 --- a/src/common/sizer.cpp +++ b/src/common/sizer.cpp @@ -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;