]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/setup0.h
Moved all WXDLLEXPORT's to be before the return type in order to make
[wxWidgets.git] / include / wx / msw / setup0.h
CommitLineData
9bd6a503
VZ
1/////////////////////////////////////////////////////////////////////////////
2// Name: setup.h
3// Purpose: Configuration for the library
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_SETUP_H_
13#define _WX_SETUP_H_
14
15/*
16 * General features
17 *
18 */
19
20#define wxUSE_CONFIG 1
21 // Use wxConfig, with CreateConfig in wxApp
1f112209 22
9bd6a503
VZ
23#define WXWIN_COMPATIBILITY 0
24 // Compatibility with 1.68 API.
25 // Level 0: no backward compatibility, all new features
26 // Level 1: Some compatibility. In fact
27 // the compatibility code is now very minimal so there
28 // is little advantage to setting it to 1.
29
9bd6a503
VZ
30#define wxUSE_POSTSCRIPT 0
31 // 0 for no PostScript device context
32#define wxUSE_AFM_FOR_POSTSCRIPT 0
33 // 1 to use font metric files in GetTextExtent
34#define wxUSE_METAFILE 1
35 // 0 for no Metafile and metafile device context
9bd6a503
VZ
36#define wxUSE_IPC 1
37 // 0 for no interprocess comms
38// Note: wxHELP uses IPC under X so these are interdependent!
39#define wxUSE_HELP 1
40 // 0 for no help facility
41#define wxUSE_RESOURCES 1
42 // 0 for no wxGetResource/wxWriteResource
43#define wxUSE_CONSTRAINTS 1
44 // 0 for no window layout constraint system
45
46#define wxUSE_TIMEDATE 1
47 // 0 for no wxTime/wxDate classes
48
49#define wxUSE_CLIPBOARD 1
50 // 0 for no clipboard functions
1f112209 51
9bd6a503
VZ
52#define wxUSE_SPLINES 1
53 // 0 for no splines
9bd6a503
VZ
54
55#define wxUSE_DRAG_AND_DROP 1
56 // 0 for no drag and drop
57
58#define wxUSE_TOOLBAR 1
59 // Define 1 to use toolbar classes
60#define wxUSE_BUTTONBAR 1
61 // Define 1 to use buttonbar classes (enhanced toolbar
62 // for MS Windows)
63#define wxUSE_GAUGE 1
64 // Define 1 to use Microsoft's gauge (Windows)
65 // or Bull's gauge (Motif) library (both in contrib).
66#define wxUSE_COMBOBOX 1
67 // Define 1 to use COMBOXBOX control (Windows)
68 // or FWW's ComboBox widget (Motif).
69#define wxUSE_RADIOBUTTON 1
70 // Define 1 to use radio button control
71
72#define wxUSE_SCROLLBAR 1
73 // Define 1 to compile contributed wxScrollBar class
74#define wxUSE_XPM_IN_MSW 1
75 // Define 1 to support the XPM package in wxBitmap.
76#define wxUSE_IMAGE_LOADING_IN_MSW 1
77 // Use dynamic DIB loading/saving code in utils/dib under MSW.
78#define wxUSE_RESOURCE_LOADING_IN_MSW 1
79 // Use dynamic icon/cursor loading/saving code
80 // under MSW.
81#define wxUSE_WX_RESOURCES 1
82 // Use .wxr resource mechanism (requires PrologIO library)
83
84// BC++/Win16 can't cope with the amount of data in resource.cpp
85#if defined(__WIN16__) && defined(__BORLANDC__)
86#undef wxUSE_WX_RESOURCES
87#define wxUSE_WX_RESOURCES 0
88#endif
89
9bd6a503
VZ
90#define wxUSE_DOC_VIEW_ARCHITECTURE 1
91 // Set to 0 to disable document/view architecture
92#define wxUSE_PRINTING_ARCHITECTURE 1
93 // Set to 0 to disable print/preview architecture code
94#define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1
95 // Set to 0 to disable PostScript print/preview architecture code
96 // under Windows (just use Windows printing).
97#define wxUSE_DYNAMIC_CLASSES 1
98 // If 1, enables provision of run-time type information.
99 // NOW MANDATORY: don't change.
100#define wxUSE_MEMORY_TRACING 1
101 // If 1, enables debugging versions of wxObject::new and
102 // wxObject::delete *IF* __WXDEBUG__ is also defined.
103 // WARNING: this code may not work with all architectures, especially
104 // if alignment is an issue.
105#define wxUSE_DEBUG_CONTEXT 1
106 // If 1, enables wxDebugContext, for
107 // writing error messages to file, etc.
108 // If __WXDEBUG__ is not defined, will still use
109 // normal memory operators.
110 // It's recommended to set this to 1,
111 // since you may well need to output
112 // an error log in a production
113 // version (or non-debugging beta)
114#define wxUSE_GLOBAL_MEMORY_OPERATORS 1
115 // In debug mode, cause new and delete to be redefined globally.
116 // If this causes problems (e.g. link errors), set this to 0.
117
118#define wxUSE_DEBUG_NEW_ALWAYS 1
119 // In debug mode, causes new to be defined to
120 // be WXDEBUG_NEW (see object.h).
121 // If this causes problems (e.g. link errors), set this to 0.
122 // You may need to set this to 0 if using templates (at least
123 // for VC++).
124
125#define REMOVE_UNUSED_ARG 1
126 // Set this to 0 if your compiler can't cope
127 // with omission of prototype parameters.
128
129#define wxUSE_ODBC 1
130 // Define 1 to use ODBC classes
131
132#ifndef __MWERKS__
133#define wxUSE_IOSTREAMH 1
134#else
dbda9e86 135#define wxUSE_IOSTREAMH 1
9bd6a503
VZ
136#endif
137 // VC++ 4.2 and above allows <iostream> and <iostream.h>
138 // but you can't mix them. Set to 1 for <iostream.h>,
139 // 0 for <iostream>
140
d4ec5d32
JS
141#define wxUSE_STREAMS 1
142 // If enabled (1), compiles wxWindows streams classes
143
144#define wxUSE_STD_IOSTREAM 1
145 // Use standard C++ streams if 1. If 0, use wxWin
146 // streams implementation.
147
9bd6a503
VZ
148#define wxUSE_WXCONFIG 1
149 // if enabled, compiles built-in OS independent wxConfig
150 // class and it's file (any platform) and registry (Win)
151 // based implementations
152#define wxUSE_THREADS 1
153 // support for multithreaded applications: if
154 // 1, compile in thread classes (thread.h)
155 // and make the library thread safe
156#define wxUSE_ZLIB 1
157 // Use zlib for compression in streams and PNG code
158#define wxUSE_LIBPNG 1
159 // Use PNG bitmap code
2fff5f08
VS
160#define wxUSE_LIBJPEG 0
161 // Use JPEG bitmap code
d4ec5d32
JS
162#define wxUSE_SERIAL 0
163 // Use serialization (requires utils/serialize)
3aa0e8fa
VZ
164#define wxUSE_DYNLIB_CLASS 0
165 // Compile in wxLibrary class for run-time
166 // DLL loading and function calling
9bd6a503
VZ
167#define wxUSE_TOOLTIPS 1
168 // Define to use wxToolTip class and
169 // wxWindow::SetToolTip() method
a737331d 170#define wxUSE_SOCKETS 0
9a05fd8d 171 // Set to 1 to use socket classes
9bd6a503
VZ
172
173/*
174 * Finer detail
175 *
176 */
177
178#define wxUSE_APPLE_IEEE 1
179 // if enabled, the float codec written by Apple
180 // will be used to write, in a portable way,
181 // float on the disk
182
183/*
184 * MS Windows/Windows NT
185 *
186 */
187
3aa0e8fa
VZ
188#define wxUSE_OLE 1
189 // drag-and-drop, clipboard, OLE Automation
190
9bd6a503 191#if defined(__WIN95__)
1f112209 192#define wxUSE_CTL3D 0
9bd6a503 193#else
1f112209 194#define wxUSE_CTL3D 1
9bd6a503
VZ
195 // Define 1 to use Microsoft CTL3D library.
196 // See note above about using FAFA and CTL3D.
197#endif
198
199#define wxUSE_COMMON_DIALOGS 1
200 // On rare occasions (e.g. using DJGPP) may want
201 // to omit common dialogs
202 // (e.g. file selector, printer dialog).
203 // Switching this off also switches off
204 // the printing architecture and interactive
205 // wxPrinterDC.
206#define wxUSE_ITSY_BITSY 1
207 // Define 1 to use Microsoft's ItsyBitsy
208 // small title bar library, for wxMiniFrame
209#define wxUSE_BITMAP_MESSAGE 1
210 // Define 1 to use bitmap messages.
211#define wxUSE_PORTABLE_FONTS_IN_MSW 0
212 // Define 1 to use new portable font scheme in Windows
213 // (used by default under X)
1f112209 214#define wxFONT_SIZE_COMPATIBILITY 0
9bd6a503
VZ
215 // Define 1 for font size to be backward compatible
216 // to 1.63 and earlier. 1.64 and later define point
217 // sizes to be compatible with Windows.
218#define wxUSE_GENERIC_DIALOGS_IN_MSW 1
219 // Define 1 to use generic dialogs in Windows, even though
220 // they duplicate native common dialog (e.g. wxColourDialog)
221#define wxUSE_PENWINDOWS 0
222 // Set to 1 to use PenWindows
223
224#define wxUSE_OWNER_DRAWN 1
225 // Owner-drawn menus and listboxes
226
227#define wxUSE_NATIVE_STATUSBAR 1
228 // Set to 0 to use cross-platform wxStatusBar
229#define wxUSE_DBWIN32 1
230 // Use Andrew Tucker's OutputDebugString implementation
231 // (required on Win95 only). See utils.cpp.
232
233/*
234 * Any platform
235 *
236 */
237
238#define wxUSE_TYPEDEFS 0
239 // Use typedefs not classes for wxPoint
240 // and others, to reduce overhead and avoid
241 // MS C7 memory bug. Bounds checker
242 // complains about deallocating
243 // arrays of wxPoints if wxPoint is a class.
244
b86510f8 245#if (!defined(WIN32) && !defined(__WIN32__)) || defined(__GNUWIN32__)
9bd6a503
VZ
246// Can't use OLE drag and drop in Windows 3.1 because we don't know how
247// to implement UUIDs
248// GnuWin32 doesn't have appropriate headers for e.g. IUnknown.
249#undef wxUSE_DRAG_AND_DROP
250#define wxUSE_DRAG_AND_DROP 0
251#endif
252
253// Only WIN32 supports wxStatusBar95
254#if !defined(__WIN32__) && wxUSE_NATIVE_STATUSBAR
255#undef wxUSE_NATIVE_STATUSBAR
256#define wxUSE_NATIVE_STATUSBAR 0
257#endif
258
259// Salford C++ doesn't like some of the memory operator definitions
260#ifdef __SALFORDC__
261#undef wxUSE_MEMORY_TRACING
262#define wxUSE_MEMORY_TRACING 0
263
264#undef wxUSE_GLOBAL_MEMORY_OPERATORS
265#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
266
267#undef wxUSE_DEBUG_NEW_ALWAYS
268#define wxUSE_DEBUG_NEW_ALWAYS 0
269
270#undef wxUSE_THREADS
271#define wxUSE_THREADS 0
272
273#undef wxUSE_DBWIN32
274#define wxUSE_DBWIN32 0
275
276#undef wxUSE_OWNER_DRAWN
277#define wxUSE_OWNER_DRAWN 0
278#endif
279
280#ifdef __TWIN32__
281
282#undef wxUSE_THREADS
283#define wxUSE_THREADS 0
284
285#undef wxUSE_DBWIN32
286#define wxUSE_DBWIN32 0
287
288#undef wxUSE_ODBC
289#define wxUSE_ODBC 0
290
291#endif
292
dbdb39b2
JS
293#if defined(__WXMSW__) && defined(__BORLANDC__)
294#undef wxUSE_ODBC
295#define wxUSE_ODBC 0
296#endif
297
9bd6a503
VZ
298#if defined(__WXMSW__) && !defined(__WIN32__)
299
300#undef wxUSE_THREADS
301#define wxUSE_THREADS 0
302
750b78ba
JS
303#undef wxUSE_TOOLTIPS
304#define wxUSE_TOOLTIPS 0
305
9bd6a503
VZ
306#endif
307
9bd6a503
VZ
308#endif
309 // _WX_SETUP_H_