]>
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 | * RCS-ID: $Id$ | |
9 | * Copyright: (c) 2002 Vadim Zeitlin <vadim@wxwidgets.org> | |
10 | * Licence: wxWindows licence | |
11 | */ | |
12 | ||
13 | /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ | |
14 | ||
15 | #ifndef _WX_FEATURES_H_ | |
16 | #define _WX_FEATURES_H_ | |
17 | ||
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__) | |
22 | #define wxHAS_RADIO_MENU_ITEMS | |
23 | #else | |
24 | #undef wxHAS_RADIO_MENU_ITEMS | |
25 | #endif | |
26 | ||
27 | /* the raw keyboard codes are generated under wxGTK and wxMSW only */ | |
28 | #if defined(__WXGTK__) || defined(__WXMSW__) || defined(__WXMAC__) \ | |
29 | || defined(__WXDFB__) | |
30 | #define wxHAS_RAW_KEY_CODES | |
31 | #else | |
32 | #undef wxHAS_RAW_KEY_CODES | |
33 | #endif | |
34 | ||
35 | /* taskbar is implemented in the major ports */ | |
36 | #if defined(__WXMSW__) || defined(__WXCOCOA__) \ | |
37 | || defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXX11__) \ | |
38 | || defined(__WXOSX_MAC__) || defined(__WXCOCOA__) | |
39 | #define wxHAS_TASK_BAR_ICON | |
40 | #else | |
41 | #undef wxUSE_TASKBARICON | |
42 | #define wxUSE_TASKBARICON 0 | |
43 | #undef wxHAS_TASK_BAR_ICON | |
44 | #endif | |
45 | ||
46 | /* wxIconLocation appeared in the middle of 2.5.0 so it's handy to have a */ | |
47 | /* separate define for it */ | |
48 | #define wxHAS_ICON_LOCATION | |
49 | ||
50 | /* same for wxCrashReport */ | |
51 | #ifdef __WXMSW__ | |
52 | #define wxHAS_CRASH_REPORT | |
53 | #else | |
54 | #undef wxHAS_CRASH_REPORT | |
55 | #endif | |
56 | ||
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 | ||
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 | ||
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 | ||
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 */ | |
80 | #if defined(HAVE_LOCALE_T) || \ | |
81 | (wxCHECK_VISUALC_VERSION(8) && !defined(__WXWINCE__)) | |
82 | #define wxHAS_XLOCALE_SUPPORT | |
83 | #else | |
84 | #undef wxHAS_XLOCALE_SUPPORT | |
85 | #endif | |
86 | ||
87 | /* Direct access to bitmap data is only implemented for MSW/Mac/GTK2 */ | |
88 | #if defined(__WXGTK20__) || defined(__WXMAC__) || \ | |
89 | (defined(__WXMSW__) && !defined(__WATCOMC__)) | |
90 | #define wxHAS_RAW_BITMAP | |
91 | #endif | |
92 | ||
93 | /* also define deprecated synonym which exists for compatibility only */ | |
94 | #ifdef wxHAS_RAW_BITMAP | |
95 | #define wxHAVE_RAW_BITMAP | |
96 | #endif | |
97 | ||
98 | #endif /* _WX_FEATURES_H_ */ | |
99 |