]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/features.h
3 * Purpose: test macros for the features which might be available in some
4 * wxWidgets ports but not others
5 * Author: Vadim Zeitlin
6 * Modified by: Ryan Norton (Converted to C)
8 * Copyright: (c) 2002 Vadim Zeitlin <vadim@wxwidgets.org>
9 * Licence: wxWindows licence
12 /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
14 #ifndef _WX_FEATURES_H_
15 #define _WX_FEATURES_H_
17 /* radio menu items are currently not implemented in wxMotif, use this
18 symbol (kept for compatibility from the time when they were not implemented
19 under other platforms as well) to test for this */
20 #if !defined(__WXMOTIF__)
21 #define wxHAS_RADIO_MENU_ITEMS
23 #undef wxHAS_RADIO_MENU_ITEMS
26 /* the raw keyboard codes are generated under wxGTK and wxMSW only */
27 #if defined(__WXGTK__) || defined(__WXMSW__) || defined(__WXMAC__) \
29 #define wxHAS_RAW_KEY_CODES
31 #undef wxHAS_RAW_KEY_CODES
34 /* taskbar is implemented in the major ports */
35 #if defined(__WXMSW__) || defined(__WXCOCOA__) \
36 || defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXX11__) \
37 || defined(__WXOSX_MAC__) || defined(__WXCOCOA__)
38 #define wxHAS_TASK_BAR_ICON
40 #undef wxUSE_TASKBARICON
41 #define wxUSE_TASKBARICON 0
42 #undef wxHAS_TASK_BAR_ICON
45 /* wxIconLocation appeared in the middle of 2.5.0 so it's handy to have a */
46 /* separate define for it */
47 #define wxHAS_ICON_LOCATION
49 /* same for wxCrashReport */
51 #define wxHAS_CRASH_REPORT
53 #undef wxHAS_CRASH_REPORT
56 /* wxRE_ADVANCED is not always available, depending on regex library used
57 * (it's unavailable only if compiling via configure against system library) */
58 #ifndef WX_NO_REGEX_ADVANCED
59 #define wxHAS_REGEX_ADVANCED
61 #undef wxHAS_REGEX_ADVANCED
64 /* Pango-based ports and wxDFB use UTF-8 for text and font encodings
65 * internally and so their fonts can handle any encodings: */
66 #if wxUSE_PANGO || defined(__WXDFB__)
67 #define wxHAS_UTF8_FONTS
70 /* This is defined when the underlying toolkit handles tab traversal natively.
71 Otherwise we implement it ourselves in wxControlContainer. */
73 #define wxHAS_NATIVE_TAB_TRAVERSAL
76 /* This is defined when the compiler provides some type of extended locale
77 functions. Otherwise, we implement them ourselves to only support the
79 #if defined(HAVE_LOCALE_T) || \
80 (wxCHECK_VISUALC_VERSION(8) && !defined(__WXWINCE__))
81 #define wxHAS_XLOCALE_SUPPORT
83 #undef wxHAS_XLOCALE_SUPPORT
86 /* Direct access to bitmap data is not implemented in all ports yet */
87 #if defined(__WXGTK20__) || defined(__WXMAC__) || defined(__WXDFB__) || \
91 These compilers can't deal with templates in wx/rawbmp.h:
95 #if !wxONLY_WATCOM_EARLIER_THAN(1, 8) && \
96 !(defined(__HP_aCC) && defined(__hppa))
97 #define wxHAS_RAW_BITMAP
101 /* also define deprecated synonym which exists for compatibility only */
102 #ifdef wxHAS_RAW_BITMAP
103 #define wxHAVE_RAW_BITMAP
107 If this is defined, wxEvtHandler::Bind<>() is available (not all compilers
108 have the required template support for this and in particular under Windows
109 where only g++ and MSVC >= 7 currently support it.
111 Recent Sun CC versions support this but perhaps older ones can compile this
112 code too, adjust the version check if this is the case (unfortunately we
113 can't easily test for the things used in wx/event.h in configure so we have
114 to maintain these checks manually). The same applies to xlC 7: perhaps
115 earlier versions can compile this code too but they were not tested.
117 #if wxCHECK_GCC_VERSION(3, 2) || wxCHECK_VISUALC_VERSION(7) \
118 || (defined(__SUNCC__) && __SUNCC__ >= 0x5100) \
119 || (defined(__xlC__) && __xlC__ >= 0x700)
120 #define wxHAS_EVENT_BIND
124 #endif /* _WX_FEATURES_H_ */