From fe1a36a70c2f5ed8a6f9ea0b82005ebb987e5860 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Wed, 30 Jul 2008 15:00:41 +0000 Subject: [PATCH] OSX reshuffling git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/osx/chkconf.h | 97 ++++++++++++++++++++++++++++++++++------ include/wx/osx/setup0.h | 19 +++----- 2 files changed, 91 insertions(+), 25 deletions(-) diff --git a/include/wx/osx/chkconf.h b/include/wx/osx/chkconf.h index 94069d247f..755cc8c985 100644 --- a/include/wx/osx/chkconf.h +++ b/include/wx/osx/chkconf.h @@ -1,5 +1,5 @@ /* - * Name: wx/mac/chkconf.h + * Name: wx/osx/chkconf.h * Purpose: Mac-specific config settings checks * Author: Vadim Zeitlin * Modified by: @@ -11,15 +11,9 @@ /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ -#if wxUSE_UNICODE -# if !TARGET_CARBON -# ifdef wxABORT_ON_CONFIG_ERROR -# error "wxUSE_UNICODE is only supported for Carbon Targets." -# else -# define wxUSE_UNICODE 0 -# endif -# endif -#endif +#ifndef _WX_OSX_CHKCONF_H_ +#define _WX_OSX_CHKCONF_H_ + #if wxUSE_STACKWALKER /* not supported under Mac */ @@ -27,8 +21,85 @@ # define wxUSE_STACKWALKER 0 #endif /* wxUSE_STACKWALKER */ -#ifdef __WXMAC_CLASSIC__ -# include "wx/osx/classic/chkconf.h" +/* + * disable the settings which don't work for some compilers + */ + +#if defined(__MWERKS__) + #undef wxUSE_DEBUG_NEW_ALWAYS + #define wxUSE_DEBUG_NEW_ALWAYS 0 + + /* DS: Fixes compilation when wxUSE_ON_FATAL_EXCEPTION is 1 */ + #ifndef wxTYPE_SA_HANDLER + #define wxTYPE_SA_HANDLER int + #endif +#endif + +/* + * check graphics context option, must be on for every os x platform + * we only use core graphics now on all builds, try to catch attempts + * to configure the build otherwise and give error messages + */ + +#if !wxUSE_GRAPHICS_CONTEXT || ( defined( wxMAC_USE_CORE_GRAPHICS ) && !wxMAC_USE_CORE_GRAPHICS ) +# error "OS X builds use CoreGraphics in this wx version, you cannot turn back to QuickDraw completely" +#endif + +/* + * using mixins of cocoa functionality + */ + +#ifndef wxOSX_USE_COCOA + #define wxOSX_USE_COCOA 0 +#endif + +/* + * setting flags according to the platform + */ + +#ifdef __LP64__ + #if wxOSX_USE_COCOA == 0 + #undef wxOSX_USE_COCOA + #define wxOSX_USE_COCOA 1 + #endif + #define wxOSX_USE_CARBON 0 + #define wxOSX_USE_IPHONE 0 #else -# include "wx/osx/carbon/chkconf.h" + #ifdef __WXOSX_IPHONE__ + #define wxOSX_USE_CARBON 0 + #define wxOSX_USE_IPHONE 1 + #else + #define wxOSX_USE_IPHONE 0 + #if wxOSX_USE_COCOA + #define wxOSX_USE_CARBON 0 + #else + #define wxOSX_USE_CARBON 1 + #endif + #endif #endif + +/* + * combination flags + */ + +#if wxOSX_USE_COCOA || wxOSX_USE_CARBON + #define wxOSX_USE_COCOA_OR_CARBON 1 +#else + #define wxOSX_USE_COCOA_OR_CARBON 0 +#endif + +#if wxOSX_USE_COCOA || wxOSX_USE_IPHONE + #define wxOSX_USE_COCOA_OR_IPHONE 1 +#else + #define wxOSX_USE_COCOA_OR_IPHONE 0 +#endif + +#if wxOSX_USE_IPHONE + #include "wx/osx/iphone/chkconf.h" +#elif wxOSX_USE_CARBON + #include "wx/osx/carbon/chkconf.h" +#elif wxOSX_USE_COCOA + #include "wx/osx/cocoa/chkconf.h" +#endif + +#endif // _WX_OSX_CHKCONF_H_ \ No newline at end of file diff --git a/include/wx/osx/setup0.h b/include/wx/osx/setup0.h index dba42e11ea..6eef938057 100644 --- a/include/wx/osx/setup0.h +++ b/include/wx/osx/setup0.h @@ -616,7 +616,7 @@ // Enable the new wxGraphicsPath and wxGraphicsContext classes for an advanced -// 2D drawing API. (Still somewhat experimental) +// 2D drawing API. (Default on OSX, on other platforms still somewhat experimental) // // Please note that on Windows you will need to link with gdiplus.lib (use // USE_GDIPLUS=1 for makefile builds) and distribute gdiplus.dll with your @@ -1284,15 +1284,11 @@ #define wxUSE_STD_IOSTREAM 0 #endif -// things not implemented under Mac -#undef wxUSE_POPUPWIN -#define wxUSE_POPUPWIN 0 +#undef wxUSE_GRAPHICS_CONTEXT +#define wxUSE_GRAPHICS_CONTEXT 1 -#undef wxUSE_TIPWINDOW -#define wxUSE_TIPWINDOW 0 -#undef wxUSE_TOGGLEBTN -#define wxUSE_TOGGLEBTN 0 +// things not implemented under Mac #undef wxUSE_STACKWALKER #define wxUSE_STACKWALKER 0 @@ -1300,20 +1296,19 @@ // wxWebKit is a wrapper for Apple's WebKit framework, use it if you want to // embed the Safari browser control // 0 by default because of Jaguar compatibility problems -#define wxUSE_WEBKIT 0 +#define wxUSE_WEBKIT 1 // Set to 0 for no libmspack #define wxUSE_LIBMSPACK 0 -// native toolbar does not support embedding controls yet, please test by setting to 1 -#define wxMAC_USE_NATIVE_TOOLBAR 0 +// native toolbar does support embedding controls, but not comples panels, please test +#define wxOSX_USE_NATIVE_TOOLBAR 1 // make sure we have the proper dispatcher for the console event loop #define wxUSE_SELECT_DISPATCHER 1 #define wxUSE_EPOLL_DISPATCHER 0 - #endif // _WX_SETUP_H_ -- 2.45.2