@itemdef{__WINDOWS__, any Windows, you may also use __WXMSW__}
@itemdef{__WIN16__, Win16 API (not supported since wxWidgets 2.6)}
@itemdef{__WIN32__, Win32 API}
-@itemdef{__WXBASE__, Only wxBase, no GUI features (same as @c wxUSE_GUI $== 0$)}
-@itemdef{__WXCOCOA__, OS X using Cocoa API}
+@itemdef{__WXBASE__, Only wxBase, no GUI features (same as @c wxUSE_GUI == 0)}
+@itemdef{__WXCOCOA__, OS X using wxCocoa Port}
@itemdef{__WXDFB__, wxUniversal using DirectFB}
@itemdef{__WXWINCE__, Windows CE}
@itemdef{__WXGTK__, GTK+}
@itemdef{__WXGTK24__, GTK+ 2.4 or higher}
@itemdef{__WXGTK26__, GTK+ 2.6 or higher}
@itemdef{__WXGTK210__, GTK+ 2.10 or higher}
+@itemdef{__WXMAC__, old define for Mac OS X}
@itemdef{__WXMOTIF__, Motif}
@itemdef{__WXMOTIF20__, Motif 2.0 or higher}
-@itemdef{__WXMAC__, Mac OS all targets}
-@itemdef{__WXMAC_CLASSIC__, MacOS for Classic}
-@itemdef{__WXMAC_CARBON__, MacOS for Carbon CFM (running under Classic or OSX)
- or true OS X Mach-O Builds}
-@itemdef{__WXMAC_OSX__, MacOS X Carbon Mach-O Builds}
@itemdef{__WXMGL__, SciTech Soft MGL (__WXUNIVERSAL__ will be also defined)}
@itemdef{__WXMSW__, Any Windows}
-@itemdef{__WXOSX__, Any Mac OS X port (either Carbon or Cocoa)}
+@itemdef{__WXOSX__, any OS X}
+@itemdef{__WXOSX_IPHONE__, OS X iPhone}
+@itemdef{__WXOSX_CARBON__, Mac OS X using Carbon}
+@itemdef{__WXOSX_COCOA__, Mac OS X using Cocoa}
+@itemdef{__WXOSX_MAC__, Mac OS X (Carbon or Cocoa)}
+@itemdef{__WXOSX_OR_COCOA__, Any Mac OS X port (wxOSX-Carbon, wxOSX-Cocoa or
+ wxCocoa)}
@itemdef{__WXPALMOS__, PalmOS}
@itemdef{__WXPM__, OS/2 native Presentation Manager}
@itemdef{__WXSTUBS__, Stubbed version ('template' wxWin implementation)}
@itemdef{__X__, any X11-based GUI toolkit except GTK+}
@endDefList
-There are two wxWidgets ports to Mac OS. One of them, wxMac, exists in two versions:
-Classic and Carbon. The Classic version is the only one to work on Mac OS version 8.
-The Carbon version may be built either as CFM or Mach-O (binary format, like ELF)
-and the former may run under OS 9 while the latter only runs under OS X.
-Finally, there is a new Cocoa port which can only be used under OS X. To
-summarize:
+There are two wxWidgets ports to Mac OS X. One of them, wxOSX is the successor of the
+venerable wxMac, it currently exists in three versions: Carbon and Cocoa for the
+desktop and a very early iPhone port. And there is the Cocoa port named wxCocoa
+which has not been updated very actively since beginning 2008. To summarize:
-@li If you want to test for all Mac platforms, classic and OS X, you
- should test both @c __WXMAC__ and @c __WXCOCOA__.
+@li If you want to test for wxOSX on the desktop, use
+ @c __WXOSX_MAC__.
+@li If you want to test for wxOSX on the iPhone, use
+ @c __WXOSX_IPHONE__.
@li If you want to test for any GUI Mac port under OS X, use
- @c __WXOSX__.
+ @c __WXOSX_OR_COCOA__.
@li If you want to test for any port under Mac OS X, including, for
example, wxGTK and also wxBase, use @c __DARWIN__ (see below).
@beginDefList
@itemdef{__BORLANDC__, Borland C++. The value of the macro corresponds
- to the compiler version: $500$ is $5.0$.}
+ to the compiler version: 500 is 5.0.}
@itemdef{__DJGPP__, DJGPP}
@itemdef{__DIGITALMARS__, Digital Mars}
@itemdef{__GNUG__, Gnu C++ on any platform, see also wxCHECK_GCC_VERSION}
predefines the symbols in the form @c wxHAS_FEATURE. Unlike
@c wxUSE_FEATURE symbols which are defined by the library user (directly
in @c setup.h or by running configure script) and which must be always
-defined as either $0$ or $1$, the @c wxHAS symbols are only defined if
+defined as either 0 or 1, the @c wxHAS symbols are only defined if
the corresponding feature is available and not defined at all otherwise.
Currently the following symbols exist:
@beginDefList
+@itemdef{wxHAS_ATOMIC_OPS, Defined if wxAtomicInc() and wxAtomicDec() functions
+ have an efficient (CPU-specific) implementation. Notice that the functions
+ themselves are always available but can be prohibitively slow to use when
+ implemented in a generic way, using a critical section.}
+@itemdef{wxHAS_CONFIG_TEMPLATE_RW, Defined if the currently used compiler
+ supports template Read() and Write() methods in wxConfig.}
@itemdef{wxHAS_LARGE_FILES, Defined if wxFile supports files more than 4GB in size.}
@itemdef{wxHAS_LARGE_FFILES, Defined if wxFFile supports files more than 4GB in size.}
+@itemdef{wxHAS_MULTIPLE_FILEDLG_FILTERS, Defined if wxFileDialog supports multiple ('|'-separated) filters.}
@itemdef{wxHAS_POWER_EVENTS, Defined if wxPowerEvent are ever generated on the current platform.}
@itemdef{wxHAS_RADIO_MENU_ITEMS,
Defined if the current port supports radio menu items (see wxMenu::AppendRadioItem).}
+@itemdef{wxHAS_RAW_BITMAP, Defined if direct access to bitmap data using the classes in @c wx/rawbmp.h is supported.}
@itemdef{wxHAS_RAW_KEY_CODES, Defined if raw key codes (see wxKeyEvent::GetRawKeyCode are supported.}
@itemdef{wxHAS_REGEX_ADVANCED, Defined if advanced syntax is available in wxRegEx.}
@itemdef{wxHAS_TASK_BAR_ICON, Defined if wxTaskBarIcon is available on the current platform.}
- wxNO_HTML_LIB
- wxNO_MEDIA_LIB
- wxNO_NET_LIB
+ - wxNO_PROPGRID_LIB
- wxNO_QA_LIB
- wxNO_RICHTEXT_LIB
- wxNO_XML_LIB
always defined in wxWidgets applications, see also wxCHECK_VERSION}
@itemdef{__WXDEBUG__, defined in debug mode, undefined in release mode}
@itemdef{wxUSE_XXX,
- if defined as $1$, feature XXX is active, see the
+ if defined as 1, feature XXX is active, see the
@ref page_wxusedef (the symbols of this form are always defined,
use @if_ and not @ifdef_ to test for them)}
@itemdef{WX_PRECOMP,
headers you need.}
@itemdef{_UNICODE and UNICODE, both are defined if wxUSE_UNICODE is set to @c 1}
@itemdef{wxUSE_GUI,
- this particular feature test macro is defined to $1$
+ this particular feature test macro is defined to 1
when compiling or using the library with the GUI features activated,
if it is defined as @c 0, only wxBase is available.}
@itemdef{wxUSE_BASE,
- only used by wxWidgets internally (defined as $1$ when
+ only used by wxWidgets internally (defined as 1 when
building wxBase code, either as a standalone library or as part of the
- monolithic wxWidgets library, defined as $0$ when building GUI library only)}
+ monolithic wxWidgets library, defined as 0 when building GUI library only)}
@itemdef{wxNO_RTTI, is defined if the compiler RTTI support has been switched off}
@itemdef{wxNO_EXCEPTIONS,
is defined if the compiler support for C++ exceptions has been switched off}
@itemdef{wxNO_THREADS,
if this macro is defined, the compilation options
don't include compiler flags needed for multithreaded code generation. This
- implies that wxUSE_THREADS is $0$ and also that other (non-wx-based) threading
+ implies that wxUSE_THREADS is 0 and also that other (non-wx-based) threading
packages cannot be used neither.}
@itemdef{WXMAKINGDLL_XXX,
used internally and defined when building the