]>
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 DW |
7 | * Created: 18.03.02 |
8 | * RCS-ID: $Id$ | |
77ffb593 | 9 | * Copyright: (c) 2002 Vadim Zeitlin <vadim@wxwidgets.org> |
65571936 | 10 | * Licence: wxWindows licence |
e0c749a7 | 11 | */ |
34cbe514 RN |
12 | |
13 | /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ | |
d65c269b VZ |
14 | |
15 | #ifndef _WX_FEATURES_H_ | |
16 | #define _WX_FEATURES_H_ | |
17 | ||
7c5cd6e9 VZ |
18 | /* radio menu items are currently not implemented in wxMotif, use this |
19 | symbol (kept for compatibility from the time when they were not implemented | |
20 | under other platforms as well) to test for this */ | |
21 | #if !defined(__WXMOTIF__) | |
d65c269b VZ |
22 | #define wxHAS_RADIO_MENU_ITEMS |
23 | #else | |
24 | #undef wxHAS_RADIO_MENU_ITEMS | |
25 | #endif | |
26 | ||
34cbe514 | 27 | /* the raw keyboard codes are generated under wxGTK and wxMSW only */ |
b3c86150 VS |
28 | #if defined(__WXGTK__) || defined(__WXMSW__) || defined(__WXMAC__) \ |
29 | || defined(__WXDFB__) | |
9c7df356 VZ |
30 | #define wxHAS_RAW_KEY_CODES |
31 | #else | |
32 | #undef wxHAS_RAW_KEY_CODES | |
33 | #endif | |
34 | ||
af17760d | 35 | /* taskbar is implemented in the major ports */ |
6d8edd32 DS |
36 | #if defined(__WXMSW__) || defined(__WXCOCOA__) \ |
37 | || defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXX11__) \ | |
712d087f | 38 | || defined(__WXOSX_MAC__) || defined(__WXCOCOA__) |
3191ff3b VS |
39 | #define wxHAS_TASK_BAR_ICON |
40 | #else | |
4f167b46 VZ |
41 | #undef wxUSE_TASKBARICON |
42 | #define wxUSE_TASKBARICON 0 | |
3191ff3b VS |
43 | #undef wxHAS_TASK_BAR_ICON |
44 | #endif | |
45 | ||
34cbe514 RN |
46 | /* wxIconLocation appeared in the middle of 2.5.0 so it's handy to have a */ |
47 | /* separate define for it */ | |
81e3be0e VZ |
48 | #define wxHAS_ICON_LOCATION |
49 | ||
34cbe514 | 50 | /* same for wxCrashReport */ |
81e3be0e VZ |
51 | #ifdef __WXMSW__ |
52 | #define wxHAS_CRASH_REPORT | |
53 | #else | |
54 | #undef wxHAS_CRASH_REPORT | |
55 | #endif | |
56 | ||
e3f9e20c VS |
57 | /* wxRE_ADVANCED is not always available, depending on regex library used |
58 | * (it's unavailable only if compiling via configure against system library) */ | |
59 | #ifndef WX_NO_REGEX_ADVANCED | |
60 | #define wxHAS_REGEX_ADVANCED | |
61 | #else | |
62 | #undef wxHAS_REGEX_ADVANCED | |
63 | #endif | |
64 | ||
c3a58b24 VS |
65 | /* Pango-based ports and wxDFB use UTF-8 for text and font encodings |
66 | * internally and so their fonts can handle any encodings: */ | |
67 | #if wxUSE_PANGO || defined(__WXDFB__) | |
68 | #define wxHAS_UTF8_FONTS | |
69 | #endif | |
70 | ||
617fb24f VZ |
71 | /* This is defined when the underlying toolkit handles tab traversal natively. |
72 | Otherwise we implement it ourselves in wxControlContainer. */ | |
73 | #ifdef __WXGTK20__ | |
74 | #define wxHAS_NATIVE_TAB_TRAVERSAL | |
75 | #endif | |
76 | ||
6e4ae332 VZ |
77 | /* This is defined when the compiler provides some type of extended locale |
78 | functions. Otherwise, we implement them ourselves to only support the | |
79 | 'C' locale */ | |
ab63f998 VZ |
80 | #if defined(HAVE_LOCALE_T) || \ |
81 | (wxCHECK_VISUALC_VERSION(8) && !defined(__WXWINCE__)) | |
6e4ae332 VZ |
82 | #define wxHAS_XLOCALE_SUPPORT |
83 | #else | |
84 | #undef wxHAS_XLOCALE_SUPPORT | |
85 | #endif | |
86 | ||
5b464d6b | 87 | /* Direct access to bitmap data is not implemented in all ports yet */ |
a85085c9 | 88 | #if defined(__WXGTK20__) || defined(__WXMAC__) || defined(__WXDFB__) || \ |
5cbe87b2 VZ |
89 | defined(__WXMSW__) |
90 | ||
91 | /* | |
92 | These compilers can't deal with templates in wx/rawbmp.h: | |
93 | - HP aCC for PA-RISC | |
94 | - Watcom < 1.8 | |
95 | */ | |
96 | #if !wxONLY_WATCOM_EARLIER_THAN(1, 8) && \ | |
97 | !(defined(__HP_aCC) && defined(__hppa)) | |
ce7c8a97 PC |
98 | #define wxHAS_RAW_BITMAP |
99 | #endif | |
24671bc9 VZ |
100 | #endif |
101 | ||
23f3f8c2 VZ |
102 | /* also define deprecated synonym which exists for compatibility only */ |
103 | #ifdef wxHAS_RAW_BITMAP | |
104 | #define wxHAVE_RAW_BITMAP | |
105 | #endif | |
24671bc9 | 106 | |
890d70eb VZ |
107 | /* |
108 | If this is defined, wxEvtHandler::Bind<>() is available (not all compilers | |
109 | have the required template support for this and in particular under Windows | |
6e12b56f | 110 | where only g++ and MSVC >= 7 currently support it. |
64652bee VZ |
111 | |
112 | Recent Sun CC versions support this but perhaps older ones can compile this | |
113 | code too, adjust the version check if this is the case (unfortunately we | |
114 | can't easily test for the things used in wx/event.h in configure so we have | |
7ef79155 VZ |
115 | to maintain these checks manually). The same applies to xlC 7: perhaps |
116 | earlier versions can compile this code too but they were not tested. | |
890d70eb | 117 | */ |
64652bee | 118 | #if wxCHECK_GCC_VERSION(3, 2) || wxCHECK_VISUALC_VERSION(7) \ |
7ef79155 VZ |
119 | || (defined(__SUNCC__) && __SUNCC__ >= 0x5100) \ |
120 | || (defined(__xlC__) && __xlC__ >= 0x700) | |
6e12b56f VZ |
121 | #define wxHAS_EVENT_BIND |
122 | #endif | |
123 | ||
890d70eb | 124 | |
34cbe514 | 125 | #endif /* _WX_FEATURES_H_ */ |
d65c269b | 126 |