]>
Commit | Line | Data |
---|---|---|
e0c749a7 | 1 | /** |
88421578 DW |
2 | * Name: wx/features.h |
3 | * Purpose: test macros for the features which might be available in some | |
77ffb593 | 4 | * wxWidgets ports but not others |
88421578 | 5 | * Author: Vadim Zeitlin |
e0c749a7 | 6 | * Modified by: Ryan Norton (Converted to C) |
88421578 | 7 | * Created: 18.03.02 |
77ffb593 | 8 | * Copyright: (c) 2002 Vadim Zeitlin <vadim@wxwidgets.org> |
65571936 | 9 | * Licence: wxWindows licence |
e0c749a7 | 10 | */ |
34cbe514 RN |
11 | |
12 | /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ | |
d65c269b VZ |
13 | |
14 | #ifndef _WX_FEATURES_H_ | |
15 | #define _WX_FEATURES_H_ | |
16 | ||
7c5cd6e9 VZ |
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__) | |
d65c269b VZ |
21 | #define wxHAS_RADIO_MENU_ITEMS |
22 | #else | |
23 | #undef wxHAS_RADIO_MENU_ITEMS | |
24 | #endif | |
25 | ||
34cbe514 | 26 | /* the raw keyboard codes are generated under wxGTK and wxMSW only */ |
b3c86150 VS |
27 | #if defined(__WXGTK__) || defined(__WXMSW__) || defined(__WXMAC__) \ |
28 | || defined(__WXDFB__) | |
9c7df356 VZ |
29 | #define wxHAS_RAW_KEY_CODES |
30 | #else | |
31 | #undef wxHAS_RAW_KEY_CODES | |
32 | #endif | |
33 | ||
af17760d | 34 | /* taskbar is implemented in the major ports */ |
6d8edd32 DS |
35 | #if defined(__WXMSW__) || defined(__WXCOCOA__) \ |
36 | || defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXX11__) \ | |
712d087f | 37 | || defined(__WXOSX_MAC__) || defined(__WXCOCOA__) |
3191ff3b VS |
38 | #define wxHAS_TASK_BAR_ICON |
39 | #else | |
4f167b46 VZ |
40 | #undef wxUSE_TASKBARICON |
41 | #define wxUSE_TASKBARICON 0 | |
3191ff3b VS |
42 | #undef wxHAS_TASK_BAR_ICON |
43 | #endif | |
44 | ||
34cbe514 RN |
45 | /* wxIconLocation appeared in the middle of 2.5.0 so it's handy to have a */ |
46 | /* separate define for it */ | |
81e3be0e VZ |
47 | #define wxHAS_ICON_LOCATION |
48 | ||
34cbe514 | 49 | /* same for wxCrashReport */ |
81e3be0e VZ |
50 | #ifdef __WXMSW__ |
51 | #define wxHAS_CRASH_REPORT | |
52 | #else | |
53 | #undef wxHAS_CRASH_REPORT | |
54 | #endif | |
55 | ||
e3f9e20c VS |
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 | |
60 | #else | |
61 | #undef wxHAS_REGEX_ADVANCED | |
62 | #endif | |
63 | ||
c3a58b24 VS |
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 | |
68 | #endif | |
69 | ||
617fb24f VZ |
70 | /* This is defined when the underlying toolkit handles tab traversal natively. |
71 | Otherwise we implement it ourselves in wxControlContainer. */ | |
72 | #ifdef __WXGTK20__ | |
73 | #define wxHAS_NATIVE_TAB_TRAVERSAL | |
74 | #endif | |
75 | ||
6e4ae332 VZ |
76 | /* This is defined when the compiler provides some type of extended locale |
77 | functions. Otherwise, we implement them ourselves to only support the | |
78 | 'C' locale */ | |
ab63f998 VZ |
79 | #if defined(HAVE_LOCALE_T) || \ |
80 | (wxCHECK_VISUALC_VERSION(8) && !defined(__WXWINCE__)) | |
6e4ae332 VZ |
81 | #define wxHAS_XLOCALE_SUPPORT |
82 | #else | |
83 | #undef wxHAS_XLOCALE_SUPPORT | |
84 | #endif | |
85 | ||
5b464d6b | 86 | /* Direct access to bitmap data is not implemented in all ports yet */ |
a85085c9 | 87 | #if defined(__WXGTK20__) || defined(__WXMAC__) || defined(__WXDFB__) || \ |
5cbe87b2 VZ |
88 | defined(__WXMSW__) |
89 | ||
90 | /* | |
91 | These compilers can't deal with templates in wx/rawbmp.h: | |
92 | - HP aCC for PA-RISC | |
93 | - Watcom < 1.8 | |
94 | */ | |
95 | #if !wxONLY_WATCOM_EARLIER_THAN(1, 8) && \ | |
96 | !(defined(__HP_aCC) && defined(__hppa)) | |
ce7c8a97 PC |
97 | #define wxHAS_RAW_BITMAP |
98 | #endif | |
24671bc9 VZ |
99 | #endif |
100 | ||
23f3f8c2 VZ |
101 | /* also define deprecated synonym which exists for compatibility only */ |
102 | #ifdef wxHAS_RAW_BITMAP | |
103 | #define wxHAVE_RAW_BITMAP | |
104 | #endif | |
24671bc9 | 105 | |
890d70eb VZ |
106 | /* |
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 | |
6e12b56f | 109 | where only g++ and MSVC >= 7 currently support it. |
64652bee VZ |
110 | |
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 | |
7ef79155 VZ |
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. | |
890d70eb | 116 | */ |
64652bee | 117 | #if wxCHECK_GCC_VERSION(3, 2) || wxCHECK_VISUALC_VERSION(7) \ |
7ef79155 VZ |
118 | || (defined(__SUNCC__) && __SUNCC__ >= 0x5100) \ |
119 | || (defined(__xlC__) && __xlC__ >= 0x700) | |
6e12b56f VZ |
120 | #define wxHAS_EVENT_BIND |
121 | #endif | |
122 | ||
890d70eb | 123 | |
34cbe514 | 124 | #endif /* _WX_FEATURES_H_ */ |
d65c269b | 125 |