1 ///////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/msw/setup_inc.h
3 // Purpose:     MSW-specific setup.h options
4 // Author:      Vadim Zeitlin
5 // Created:     2007-07-21 (extracted from wx/msw/setup.h)
6 // Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwidgets.org>
7 // Licence:     wxWindows licence
8 ///////////////////////////////////////////////////////////////////////////////
9 
10 // ----------------------------------------------------------------------------
11 // Windows-specific backends choices
12 // ----------------------------------------------------------------------------
13 
14 // The options here are only taken into account if wxUSE_GRAPHICS_CONTEXT is 1.
15 
16 // Enable support for GDI+-based implementation of wxGraphicsContext.
17 //
18 // Default is 1.
19 //
20 // Recommended setting: 1 if you need to support XP, as Direct2D is not
21 // available there.
22 #define wxUSE_GRAPHICS_GDIPLUS wxUSE_GRAPHICS_CONTEXT
23 
24 // Enable support for Direct2D-based implementation of wxGraphicsContext.
25 //
26 // Default is 1 for compilers which support it, i.e. VC10+ currently. If you
27 // use an earlier MSVC version or another compiler and installed the necessary
28 // SDK components manually, you need to change this setting.
29 //
30 // Recommended setting: 1 for faster and better quality graphics under Windows
31 // 7 and later systems (if wxUSE_GRAPHICS_GDIPLUS is also enabled, earlier
32 // systems will fall back on using GDI+).
33 #if defined(_MSC_VER) && _MSC_VER >= 1600
34     #define wxUSE_GRAPHICS_DIRECT2D wxUSE_GRAPHICS_CONTEXT
35 #else
36     #define wxUSE_GRAPHICS_DIRECT2D 0
37 #endif
38 
39 // wxWebRequest backend based on WinHTTP.
40 //
41 // This is only taken into account if wxUSE_WEBREQUEST==1.
42 //
43 // Default is 1 if supported by the compiler (MSVS or MinGW64).
44 //
45 // Recommended setting: 1, can be set to 0 if wxUSE_WEBREQUEST_CURL==1,
46 // otherwise wxWebRequest won't be available at all.
47 #define wxUSE_WEBREQUEST_WINHTTP 1
48 
49 // ----------------------------------------------------------------------------
50 // Windows-only settings
51 // ----------------------------------------------------------------------------
52 
53 // Set this to 1 for generic OLE support: this is required for drag-and-drop,
54 // clipboard, OLE Automation. Only set it to 0 if your compiler is very old and
55 // can't compile/doesn't have the OLE headers.
56 //
57 // Default is 1.
58 //
59 // Recommended setting: 1
60 #define wxUSE_OLE           1
61 
62 // Set this to 1 to enable wxAutomationObject class.
63 //
64 // Default is 1.
65 //
66 // Recommended setting: 1 if you need to control other applications via OLE
67 // Automation, can be safely set to 0 otherwise
68 #define wxUSE_OLE_AUTOMATION 1
69 
70 // Set this to 1 to enable wxActiveXContainer class allowing to embed OLE
71 // controls in wx.
72 //
73 // Default is 1.
74 //
75 // Recommended setting: 1, required by wxMediaCtrl
76 #define wxUSE_ACTIVEX 1
77 
78 // Enable WinRT support
79 //
80 // Default is 1 for compilers which support it, i.e. VS2012+ currently. If you
81 // use an earlier MSVC version or another compiler and installed the necessary
82 // SDK components manually, you need to change this setting.
83 //
84 // Recommended setting: 1
85 #if defined(_MSC_VER) && _MSC_VER >= 1700 && !defined(_USING_V110_SDK71_)
86     #define wxUSE_WINRT 1
87 #else
88     #define wxUSE_WINRT 0
89 #endif
90 
91 // wxDC caching implementation
92 #define wxUSE_DC_CACHEING 1
93 
94 // Set this to 1 to enable wxDIB class used internally for manipulating
95 // wxBitmap data.
96 //
97 // Default is 1, set it to 0 only if you don't use wxImage neither
98 //
99 // Recommended setting: 1 (without it conversion to/from wxImage won't work)
100 #define wxUSE_WXDIB 1
101 
102 // Set to 0 to disable PostScript print/preview architecture code under Windows
103 // (just use Windows printing).
104 #define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1
105 
106 // Set this to 1 to compile in wxRegKey class.
107 //
108 // Default is 1
109 //
110 // Recommended setting: 1, this is used internally by wx in a few places
111 #define wxUSE_REGKEY 1
112 
113 // Set this to 1 to use RICHEDIT controls for wxTextCtrl with style wxTE_RICH
114 // which allows to put more than ~32Kb of text in it even under Win9x (NT
115 // doesn't have such limitation).
116 //
117 // Default is 1 for compilers which support it
118 //
119 // Recommended setting: 1, only set it to 0 if your compiler doesn't have
120 //                      or can't compile <richedit.h>
121 #define wxUSE_RICHEDIT  1
122 
123 // Set this to 1 to use extra features of richedit v2 and later controls
124 //
125 // Default is 1 for compilers which support it
126 //
127 // Recommended setting: 1
128 #define wxUSE_RICHEDIT2 1
129 
130 // Set this to 1 to enable support for the owner-drawn menu and listboxes. This
131 // is required by wxUSE_CHECKLISTBOX.
132 //
133 // Default is 1.
134 //
135 // Recommended setting: 1, set to 0 for a small library size reduction
136 #define wxUSE_OWNER_DRAWN 1
137 
138 // Set this to 1 to enable MSW-specific wxTaskBarIcon::ShowBalloon() method. It
139 // is required by native wxNotificationMessage implementation.
140 //
141 // Default is 1 but disabled in wx/msw/chkconf.h if SDK is too old to contain
142 // the necessary declarations.
143 //
144 // Recommended setting: 1, set to 0 for a tiny library size reduction
145 #define wxUSE_TASKBARICON_BALLOONS 1
146 
147 // Set this to 1 to enable following functionality added in Windows 7: thumbnail
148 // representations, thumbnail toolbars, notification and status overlays,
149 // progress indicators and jump lists.
150 //
151 // Default is 1.
152 //
153 // Recommended setting: 1, set to 0 for a tiny library size reduction
154 #define wxUSE_TASKBARBUTTON 1
155 
156 // Set to 1 to compile MS Windows XP theme engine support
157 #define wxUSE_UXTHEME           1
158 
159 // Set to 1 to use InkEdit control (Tablet PC), if available
160 #define wxUSE_INKEDIT  0
161 
162 // Set to 1 to enable .INI files based wxConfig implementation (wxIniConfig)
163 //
164 // Default is 0.
165 //
166 // Recommended setting: 0, nobody uses .INI files any more
167 #define wxUSE_INICONF 0
168 
169 // Set to 1 if you need to include <winsock2.h> over <winsock.h>
170 //
171 // Default is 0.
172 //
173 // Recommended setting: 0, set to 1 automatically if wxUSE_IPV6 is 1.
174 #define wxUSE_WINSOCK2 0
175 
176 // ----------------------------------------------------------------------------
177 // Generic versions of native controls
178 // ----------------------------------------------------------------------------
179 
180 // Set this to 1 to be able to use wxDatePickerCtrlGeneric in addition to the
181 // native wxDatePickerCtrl
182 //
183 // Default is 0.
184 //
185 // Recommended setting: 0, this is mainly used for testing
186 #define wxUSE_DATEPICKCTRL_GENERIC 0
187 
188 // Set this to 1 to be able to use wxTimePickerCtrlGeneric in addition to the
189 // native wxTimePickerCtrl for the platforms that have the latter (MSW).
190 //
191 // Default is 0.
192 //
193 // Recommended setting: 0, this is mainly used for testing
194 #define wxUSE_TIMEPICKCTRL_GENERIC 0
195 
196 // ----------------------------------------------------------------------------
197 // Crash debugging helpers
198 // ----------------------------------------------------------------------------
199 
200 // Set this to 1 to use dbghelp.dll for providing stack traces in crash
201 // reports.
202 //
203 // Default is 1 if the compiler supports it, 0 for old MinGW.
204 //
205 // Recommended setting: 1, there is not much gain in disabling this
206 #if defined(__VISUALC__) || defined(__MINGW64_TOOLCHAIN__)
207     #define wxUSE_DBGHELP 1
208 #else
209     #define wxUSE_DBGHELP 0
210 #endif
211 
212 // Set this to 1 to be able to use wxCrashReport::Generate() to create mini
213 // dumps of your program when it crashes (or at any other moment)
214 //
215 // Default is 1 if supported by the compiler (VC++ and recent BC++ only).
216 //
217 // Recommended setting: 1, set to 0 if your programs never crash
218 #define wxUSE_CRASHREPORT 1
219