X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3191ff3b91cf9992e19d5fcf5a4e8527ee9da160..dd9f8b6bb6935360a8271dc3e8749fb026b601a8:/include/wx/features.h diff --git a/include/wx/features.h b/include/wx/features.h index 61b46a2199..4d004f8829 100644 --- a/include/wx/features.h +++ b/include/wx/features.h @@ -1,39 +1,88 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: wx/features.h -// Purpose: test macros for the features which might be available in some -// wxWindows ports but not others -// Author: Vadim Zeitlin -// Modified by: -// Created: 18.03.02 -// RCS-ID: $Id$ -// Copyright: (c) 2002 Vadim Zeitlin -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// +/** +* Name: wx/features.h +* Purpose: test macros for the features which might be available in some +* wxWidgets ports but not others +* Author: Vadim Zeitlin +* Modified by: Ryan Norton (Converted to C) +* Created: 18.03.02 +* RCS-ID: $Id$ +* Copyright: (c) 2002 Vadim Zeitlin +* Licence: wxWindows licence +*/ + +/* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ #ifndef _WX_FEATURES_H_ #define _WX_FEATURES_H_ -// radio menu items are currently only implemented in wxGTK and wxMSW -#if defined(__WXGTK__) || defined(__WXMSW__) +/* radio menu items are currently not implemented in wxMotif, use this + symbol (kept for compatibility from the time when they were not implemented + under other platforms as well) to test for this */ +#if !defined(__WXMOTIF__) #define wxHAS_RADIO_MENU_ITEMS #else #undef wxHAS_RADIO_MENU_ITEMS #endif -// the raw keyboard codes are generated under wxGTK and wxMSW only -#if defined(__WXGTK__) || defined(__WXMSW__) +/* the raw keyboard codes are generated under wxGTK and wxMSW only */ +#if defined(__WXGTK__) || defined(__WXMSW__) || defined(__WXMAC__) \ + || defined(__WXDFB__) #define wxHAS_RAW_KEY_CODES #else #undef wxHAS_RAW_KEY_CODES #endif -// taskbar is only implemented in wxMSW and X11 ports -#if defined(__WXMSW__) || \ - defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__X11__) +/* taskbar is implemented in the major ports */ +#if defined(__WXMSW__) || defined(__WXCOCOA__) \ + || defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXX11__) \ + || defined(__WXMAC_OSX__) || defined(__WXCOCOA__) #define wxHAS_TASK_BAR_ICON #else + #undef wxUSE_TASKBARICON + #define wxUSE_TASKBARICON 0 #undef wxHAS_TASK_BAR_ICON #endif -#endif // _WX_FEATURES_H_ +/* wxIconLocation appeared in the middle of 2.5.0 so it's handy to have a */ +/* separate define for it */ +#define wxHAS_ICON_LOCATION + +/* same for wxCrashReport */ +#ifdef __WXMSW__ + #define wxHAS_CRASH_REPORT +#else + #undef wxHAS_CRASH_REPORT +#endif + +/* wxRE_ADVANCED is not always available, depending on regex library used + * (it's unavailable only if compiling via configure against system library) */ +#ifndef WX_NO_REGEX_ADVANCED + #define wxHAS_REGEX_ADVANCED +#else + #undef wxHAS_REGEX_ADVANCED +#endif + +/* Pango-based ports and wxDFB use UTF-8 for text and font encodings + * internally and so their fonts can handle any encodings: */ +#if wxUSE_PANGO || defined(__WXDFB__) + #define wxHAS_UTF8_FONTS +#endif + +/* This is defined when the underlying toolkit handles tab traversal natively. + Otherwise we implement it ourselves in wxControlContainer. */ +#ifdef __WXGTK20__ + #define wxHAS_NATIVE_TAB_TRAVERSAL +#endif + +/* This is defined when the compiler provides some type of extended locale + functions. Otherwise, we implement them ourselves to only support the + 'C' locale */ +#if defined(HAVE_LOCALE_T) || \ + (wxCHECK_VISUALC_VERSION(8) && !defined(__WXWINCE__)) + #define wxHAS_XLOCALE_SUPPORT +#else + #undef wxHAS_XLOCALE_SUPPORT +#endif + +#endif /* _WX_FEATURES_H_ */