]> git.saurik.com Git - wxWidgets.git/blame - include/wx/features.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / features.h
CommitLineData
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