diff --git a/include/wx/osx/carbon/private.h b/include/wx/osx/carbon/private.h index 933bd32a3b..25b1b62c2e 100644 --- a/include/wx/osx/carbon/private.h +++ b/include/wx/osx/carbon/private.h @@ -961,8 +961,9 @@ UPP Get##x() \ void wxMacSetupConverters(); void wxMacCleanupConverters(); -WXDLLIMPEXP_BASE void wxMacStringToPascal( const wxString&from , StringPtr to ); -WXDLLIMPEXP_BASE wxString wxMacMakeStringFromPascal( ConstStringPtr from ); +// utils.cpp +void WXDLLIMPEXP_CORE wxMacStringToPascal( const wxString&from , StringPtr to ); +wxString WXDLLIMPEXP_CORE wxMacMakeStringFromPascal( ConstStringPtr from ); // filefn.cpp diff --git a/src/osx/carbon/utils.cpp b/src/osx/carbon/utils.cpp index 7030447039..a1015f90c2 100644 --- a/src/osx/carbon/utils.cpp +++ b/src/osx/carbon/utils.cpp @@ -259,6 +259,27 @@ void wxMacNativeToPoint( const Point *n , wxPoint* wx ) wx->y = n->v; } +//--------------------------------------------------------------------------- +// wxMac Specific string utility functions +//--------------------------------------------------------------------------- + +void wxMacStringToPascal( const wxString&from , StringPtr to ) +{ + wxCharBuffer buf = from.mb_str( wxConvLocal ); + int len = strlen(buf); + + if ( len > 255 ) + len = 255; + to[0] = len; + memcpy( (char*) &to[1] , buf , len ); +} + +wxString wxMacMakeStringFromPascal( ConstStringPtr from ) +{ + return wxString( (char*) &from[1] , wxConvLocal , from[0] ); +} + + // ---------------------------------------------------------------------------- // Carbon Event Support // ---------------------------------------------------------------------------- diff --git a/src/osx/core/utilsexc_base.cpp b/src/osx/core/utilsexc_base.cpp index a969fc223d..38fe12a12d 100644 --- a/src/osx/core/utilsexc_base.cpp +++ b/src/osx/core/utilsexc_base.cpp @@ -40,10 +40,60 @@ // More WX Includes #include "wx/filename.h" #include "wx/osx/core/cfstring.h" +#include "wx/osx/core/private.h" // Default path style #define kDefaultPathStyle kCFURLPOSIXPathStyle +extern bool WXDLLEXPORT wxIsDebuggerRunning() +{ + // TODO : try to find out ... + return false; +} + +#if wxOSX_USE_COCOA_OR_CARBON + +// have a fast version for mac code that returns the version as a return value + +long UMAGetSystemVersion() +{ + static SInt32 sUMASystemVersion = 0 ; + if ( sUMASystemVersion == 0 ) + { + verify_noerr(Gestalt(gestaltSystemVersion, &sUMASystemVersion)); + } + return sUMASystemVersion ; +} + +// our OS version is the same in non GUI and GUI cases +wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn) +{ + SInt32 theSystem; + Gestalt(gestaltSystemVersion, &theSystem); + + if ( majorVsn != NULL ) + *majorVsn = (theSystem >> 8); + + if ( minorVsn != NULL ) + *minorVsn = (theSystem & 0xFF); + + return wxOS_MAC_OSX_DARWIN; +} + +#include + +wxString wxGetOsDescription() +{ + struct utsname name; + uname(&name); + return wxString::Format(_T("Mac OS X (%s %s %s)"), + wxString::FromAscii(name.sysname).c_str(), + wxString::FromAscii(name.release).c_str(), + wxString::FromAscii(name.machine).c_str()); +} + +#endif // wxOSX_USE_COCOA_OR_CARBON + //=========================================================================== // IMPLEMENTATION //=========================================================================== diff --git a/src/osx/utils_osx.cpp b/src/osx/utils_osx.cpp index 452a61cac7..5882a67144 100644 --- a/src/osx/utils_osx.cpp +++ b/src/osx/utils_osx.cpp @@ -45,9 +45,7 @@ #include #endif -#if wxUSE_GUI - #include "wx/osx/private/timer.h" -#endif // wxUSE_GUI +#include "wx/osx/private/timer.h" #include "wx/evtloop.h" @@ -57,82 +55,6 @@ #endif #endif -#if wxUSE_BASE - -extern bool WXDLLEXPORT wxIsDebuggerRunning() -{ - // TODO : try to find out ... - return false; -} - -#if wxOSX_USE_COCOA_OR_CARBON - -// have a fast version for mac code that returns the version as a return value - -long UMAGetSystemVersion() -{ - static SInt32 sUMASystemVersion = 0 ; - if ( sUMASystemVersion == 0 ) - { - verify_noerr(Gestalt(gestaltSystemVersion, &sUMASystemVersion)); - } - return sUMASystemVersion ; -} - -// our OS version is the same in non GUI and GUI cases -wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn) -{ - SInt32 theSystem; - Gestalt(gestaltSystemVersion, &theSystem); - - if ( majorVsn != NULL ) - *majorVsn = (theSystem >> 8); - - if ( minorVsn != NULL ) - *minorVsn = (theSystem & 0xFF); - - return wxOS_MAC_OSX_DARWIN; -} - -#include - -wxString wxGetOsDescription() -{ - struct utsname name; - uname(&name); - return wxString::Format(_T("Mac OS X (%s %s %s)"), - wxString::FromAscii(name.sysname).c_str(), - wxString::FromAscii(name.release).c_str(), - wxString::FromAscii(name.machine).c_str()); -} - -#endif // wxOSX_USE_COCOA_OR_CARBON - - -//--------------------------------------------------------------------------- -// wxMac Specific utility functions -//--------------------------------------------------------------------------- - -void wxMacStringToPascal( const wxString&from , StringPtr to ) -{ - wxCharBuffer buf = from.mb_str( wxConvLocal ); - int len = strlen(buf); - - if ( len > 255 ) - len = 255; - to[0] = len; - memcpy( (char*) &to[1] , buf , len ); -} - -wxString wxMacMakeStringFromPascal( ConstStringPtr from ) -{ - return wxString( (char*) &from[1] , wxConvLocal , from[0] ); -} - -#endif // wxUSE_BASE - -#if wxUSE_GUI - // Check whether this window wants to process messages, e.g. Stop button // in long calculations. bool wxCheckForInterrupt(wxWindow *WXUNUSED(wnd)) @@ -235,5 +157,3 @@ CGColorRef wxMacCreateCGColorFromHITheme( ThemeBrush brush ) } #endif // wxOSX_USE_COCOA_OR_CARBON - -#endif // wxUSE_GUI