]>
Commit | Line | Data |
---|---|---|
1 | /** | |
2 | * Name: 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) | |
7 | * Created: 18.03.02 | |
8 | * Copyright: (c) 2002 Vadim Zeitlin <vadim@wxwidgets.org> | |
9 | * Licence: wxWindows licence | |
10 | */ | |
11 | ||
12 | /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ | |
13 | ||
14 | #ifndef _WX_FEATURES_H_ | |
15 | #define _WX_FEATURES_H_ | |
16 | ||
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 | |
22 | #else | |
23 | #undef wxHAS_RADIO_MENU_ITEMS | |
24 | #endif | |
25 | ||
26 | /* the raw keyboard codes are generated under wxGTK and wxMSW only */ | |
27 | #if defined(__WXGTK__) || defined(__WXMSW__) || defined(__WXMAC__) \ | |
28 | || defined(__WXDFB__) | |
29 | #define wxHAS_RAW_KEY_CODES | |
30 | #else | |
31 | #undef wxHAS_RAW_KEY_CODES | |
32 | #endif | |
33 | ||
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 | |
39 | #else | |
40 | #undef wxUSE_TASKBARICON | |
41 | #define wxUSE_TASKBARICON 0 | |
42 | #undef wxHAS_TASK_BAR_ICON | |
43 | #endif | |
44 | ||
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 | |
48 | ||
49 | /* same for wxCrashReport */ | |
50 | #ifdef __WXMSW__ | |
51 | #define wxHAS_CRASH_REPORT | |
52 | #else | |
53 | #undef wxHAS_CRASH_REPORT | |
54 | #endif | |
55 | ||
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 | ||
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 | ||
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 | ||
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 */ | |
79 | #if defined(HAVE_LOCALE_T) || \ | |
80 | (wxCHECK_VISUALC_VERSION(8) && !defined(__WXWINCE__)) | |
81 | #define wxHAS_XLOCALE_SUPPORT | |
82 | #else | |
83 | #undef wxHAS_XLOCALE_SUPPORT | |
84 | #endif | |
85 | ||
86 | /* Direct access to bitmap data is not implemented in all ports yet */ | |
87 | #if defined(__WXGTK20__) || defined(__WXMAC__) || defined(__WXDFB__) || \ | |
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)) | |
97 | #define wxHAS_RAW_BITMAP | |
98 | #endif | |
99 | #endif | |
100 | ||
101 | /* also define deprecated synonym which exists for compatibility only */ | |
102 | #ifdef wxHAS_RAW_BITMAP | |
103 | #define wxHAVE_RAW_BITMAP | |
104 | #endif | |
105 | ||
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 | |
109 | where only g++ and MSVC >= 7 currently support it. | |
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 | |
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. | |
116 | */ | |
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 | |
121 | #endif | |
122 | ||
123 | ||
124 | #endif /* _WX_FEATURES_H_ */ | |
125 |