X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/20b35a6916b9b54af4bbfe4227393c08cd9a2724..a7c26d107d0c6f191e55d30613f4816e9c2f9386:/src/common/sizer.cpp?ds=sidebyside diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp index 1d187529ff..f077fcd102 100644 --- a/src/common/sizer.cpp +++ b/src/common/sizer.cpp @@ -25,7 +25,11 @@ #include "wx/utils.h" #include "wx/statbox.h" #include "wx/notebook.h" -#include +#include "wx/listimpl.cpp" + +#ifdef __WXMAC__ +# include "wx/mac/uma.h" +#endif //--------------------------------------------------------------------------- @@ -1548,7 +1552,32 @@ 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 ) + { + // The minimal border used for the top. Later on the staticbox' + // font height is added to this. + extraTop = 0; + + if ( UMAGetSystemVersion() >= 0x1030 /*Panther*/ ) + { + // 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;