]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/setup.h
added JPEG support
[wxWidgets.git] / include / wx / msw / setup.h
CommitLineData
2bda0e17
KB
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$
bbcdf8bc 8// Copyright: (c) Julian Smart
fd3f686c 9// Licence: wxWindows licence
2bda0e17
KB
10/////////////////////////////////////////////////////////////////////////////
11
bbcdf8bc
JS
12#ifndef _WX_SETUP_H_
13#define _WX_SETUP_H_
2bda0e17
KB
14
15/*
16 * General features
17 *
18 */
19
47d67540 20#define wxUSE_CONFIG 1
6b0eb19f 21 // Use wxConfig, with CreateConfig in wxApp
1f112209
JS
22
23#define WXWIN_COMPATIBILITY 0
054d497f 24 // Compatibility with 1.68 API.
2bda0e17 25 // Level 0: no backward compatibility, all new features
054d497f
JS
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.
2bda0e17 29
184b5d99 30#define wxUSE_POSTSCRIPT 0
3222fde2 31 // 0 for no PostScript device context
47d67540 32#define wxUSE_AFM_FOR_POSTSCRIPT 0
2bda0e17 33 // 1 to use font metric files in GetTextExtent
47d67540 34#define wxUSE_METAFILE 1
2bda0e17 35 // 0 for no Metafile and metafile device context
47d67540 36#define wxUSE_IPC 1
2bda0e17
KB
37 // 0 for no interprocess comms
38// Note: wxHELP uses IPC under X so these are interdependent!
47d67540 39#define wxUSE_HELP 1
2bda0e17 40 // 0 for no help facility
47d67540 41#define wxUSE_RESOURCES 1
fd3f686c 42 // 0 for no wxGetResource/wxWriteResource
47d67540 43#define wxUSE_CONSTRAINTS 1
2bda0e17 44 // 0 for no window layout constraint system
fd3f686c 45
47d67540 46#define wxUSE_TIMEDATE 1
2bda0e17 47 // 0 for no wxTime/wxDate classes
fd3f686c 48
47d67540 49#define wxUSE_CLIPBOARD 1
fd3f686c 50 // 0 for no clipboard functions
1f112209 51
47d67540 52#define wxUSE_SPLINES 1
fd3f686c 53 // 0 for no splines
2bda0e17 54
47d67540 55#define wxUSE_DRAG_AND_DROP 1
fd3f686c 56 // 0 for no drag and drop
2bda0e17 57
47d67540 58#define wxUSE_TOOLBAR 1
2bda0e17 59 // Define 1 to use toolbar classes
47d67540 60#define wxUSE_BUTTONBAR 1
2bda0e17
KB
61 // Define 1 to use buttonbar classes (enhanced toolbar
62 // for MS Windows)
47d67540 63#define wxUSE_GAUGE 1
2bda0e17
KB
64 // Define 1 to use Microsoft's gauge (Windows)
65 // or Bull's gauge (Motif) library (both in contrib).
47d67540 66#define wxUSE_COMBOBOX 1
2bda0e17
KB
67 // Define 1 to use COMBOXBOX control (Windows)
68 // or FWW's ComboBox widget (Motif).
47d67540 69#define wxUSE_RADIOBUTTON 1
2bda0e17
KB
70 // Define 1 to use radio button control
71
47d67540 72#define wxUSE_SCROLLBAR 1
2bda0e17 73 // Define 1 to compile contributed wxScrollBar class
2fd284a4 74#define wxUSE_XPM_IN_MSW 1
4fabb575 75 // Define 1 to support the XPM package in wxBitmap.
47d67540 76#define wxUSE_IMAGE_LOADING_IN_MSW 1
2bda0e17 77 // Use dynamic DIB loading/saving code in utils/dib under MSW.
c085e333 78#define wxUSE_RESOURCE_LOADING_IN_MSW 1
2bda0e17
KB
79 // Use dynamic icon/cursor loading/saving code
80 // under MSW.
47d67540 81#define wxUSE_WX_RESOURCES 1
2bda0e17
KB
82 // Use .wxr resource mechanism (requires PrologIO library)
83
3b1de9c2
JS
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
47d67540 90#define wxUSE_DOC_VIEW_ARCHITECTURE 1
2bda0e17 91 // Set to 0 to disable document/view architecture
47d67540 92#define wxUSE_PRINTING_ARCHITECTURE 1
2bda0e17 93 // Set to 0 to disable print/preview architecture code
47d67540 94#define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1
2bda0e17
KB
95 // Set to 0 to disable PostScript print/preview architecture code
96 // under Windows (just use Windows printing).
47d67540 97#define wxUSE_DYNAMIC_CLASSES 1
2bda0e17
KB
98 // If 1, enables provision of run-time type information.
99 // NOW MANDATORY: don't change.
7fe7d506 100#define wxUSE_MEMORY_TRACING 1
2bda0e17 101 // If 1, enables debugging versions of wxObject::new and
0f358732 102 // wxObject::delete *IF* __WXDEBUG__ is also defined.
2bda0e17
KB
103 // WARNING: this code may not work with all architectures, especially
104 // if alignment is an issue.
7fe7d506 105#define wxUSE_DEBUG_CONTEXT 1
2bda0e17
KB
106 // If 1, enables wxDebugContext, for
107 // writing error messages to file, etc.
0f358732 108 // If __WXDEBUG__ is not defined, will still use
2bda0e17
KB
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)
839dda6f 114#define wxUSE_GLOBAL_MEMORY_OPERATORS 1
2bda0e17
KB
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
7fe7d506
JS
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.
025e88c5
JS
122 // You may need to set this to 0 if using templates (at least
123 // for VC++).
7fe7d506 124
2bda0e17
KB
125#define REMOVE_UNUSED_ARG 1
126 // Set this to 0 if your compiler can't cope
127 // with omission of prototype parameters.
128
a24ce622 129#define wxUSE_ODBC 1
2bda0e17
KB
130 // Define 1 to use ODBC classes
131
518f33a4 132#ifndef __MWERKS__
47d67540 133#define wxUSE_IOSTREAMH 1
518f33a4
SC
134#else
135#define wxUSE_IOSTREAMH 0
136#endif
2bda0e17
KB
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
47d67540 141#define wxUSE_WXCONFIG 1
3bd29723
VZ
142 // if enabled, compiles built-in OS independent wxConfig
143 // class and it's file (any platform) and registry (Win)
144 // based implementations
3222fde2
VZ
145#define wxUSE_THREADS 1
146 // support for multithreaded applications: if
147 // 1, compile in thread classes (thread.h)
148 // and make the library thread safe
124031d5
JS
149#define wxUSE_ZLIB 1
150 // Use zlib for compression in streams and PNG code
151#define wxUSE_LIBPNG 1
152 // Use PNG bitmap code
2fff5f08
VS
153#define wxUSE_LIBJPEG 0
154 // Use JPEG bitmap code
4bf78aae
JS
155#define wxUSE_STD_IOSTREAM 1
156 // Use standard C++ streams if 1. If 0, use wxWin
157 // streams implementation.
158
1f112209
JS
159#define wxUSE_TOOLTIPS 1
160 // Define to use wxToolTip class and
161 // wxWindow::SetToolTip() method
2bda0e17
KB
162/*
163 * Finer detail
164 *
165 */
166
fd3f686c
VZ
167#define wxUSE_APPLE_IEEE 1
168 // if enabled, the float codec written by Apple
169 // will be used to write, in a portable way,
170 // float on the disk
cf447356 171
2bda0e17
KB
172/*
173 * MS Windows/Windows NT
174 *
175 */
176
177#if defined(__WIN95__)
1f112209 178#define wxUSE_CTL3D 0
2bda0e17 179#else
1f112209 180#define wxUSE_CTL3D 1
2bda0e17
KB
181 // Define 1 to use Microsoft CTL3D library.
182 // See note above about using FAFA and CTL3D.
183#endif
184
47d67540 185#define wxUSE_COMMON_DIALOGS 1
2bda0e17
KB
186 // On rare occasions (e.g. using DJGPP) may want
187 // to omit common dialogs
188 // (e.g. file selector, printer dialog).
189 // Switching this off also switches off
190 // the printing architecture and interactive
191 // wxPrinterDC.
47d67540 192#define wxUSE_ITSY_BITSY 1
2bda0e17 193 // Define 1 to use Microsoft's ItsyBitsy
f7387de5 194 // small title bar library, for wxMiniFrame
47d67540 195#define wxUSE_BITMAP_MESSAGE 1
2bda0e17 196 // Define 1 to use bitmap messages.
47d67540 197#define wxUSE_PORTABLE_FONTS_IN_MSW 0
2bda0e17
KB
198 // Define 1 to use new portable font scheme in Windows
199 // (used by default under X)
1f112209 200#define wxFONT_SIZE_COMPATIBILITY 0
2bda0e17
KB
201 // Define 1 for font size to be backward compatible
202 // to 1.63 and earlier. 1.64 and later define point
203 // sizes to be compatible with Windows.
47d67540 204#define wxUSE_GENERIC_DIALOGS_IN_MSW 1
2bda0e17
KB
205 // Define 1 to use generic dialogs in Windows, even though
206 // they duplicate native common dialog (e.g. wxColourDialog)
47d67540 207#define wxUSE_PENWINDOWS 0
2bda0e17
KB
208 // Set to 1 to use PenWindows
209
c085e333 210#define wxUSE_OWNER_DRAWN 1
2bda0e17
KB
211 // Owner-drawn menus and listboxes
212
47d67540 213#define wxUSE_NATIVE_STATUSBAR 1
2bda0e17 214 // Set to 0 to use cross-platform wxStatusBar
a0a302dc
JS
215#define wxUSE_DBWIN32 1
216 // Use Andrew Tucker's OutputDebugString implementation
217 // (required on Win95 only). See utils.cpp.
2bda0e17
KB
218
219/*
220 * Any platform
221 *
222 */
223
47d67540 224#define wxUSE_TYPEDEFS 0
2bda0e17 225 // Use typedefs not classes for wxPoint
fd3f686c
VZ
226 // and others, to reduce overhead and avoid
227 // MS C7 memory bug. Bounds checker
228 // complains about deallocating
2bda0e17
KB
229 // arrays of wxPoints if wxPoint is a class.
230
231#if (!defined(WIN32) && !defined(__WIN32__)) || defined(__GNUWIN32__) || defined(__BORLANDC__)
232// Can't use OLE drag and drop in Windows 3.1 because we don't know how
233// to implement UUIDs
234// GnuWin32 doesn't have appropriate headers for e.g. IUnknown.
47d67540
VZ
235#undef wxUSE_DRAG_AND_DROP
236#define wxUSE_DRAG_AND_DROP 0
2bda0e17
KB
237#endif
238
239// Only WIN32 supports wxStatusBar95
47d67540
VZ
240#if !defined(__WIN32__) && wxUSE_NATIVE_STATUSBAR
241#undef wxUSE_NATIVE_STATUSBAR
242#define wxUSE_NATIVE_STATUSBAR 0
2bda0e17
KB
243#endif
244
a3ef5bf5
JS
245// Salford C++ doesn't like some of the memory operator definitions
246#ifdef __SALFORDC__
247#undef wxUSE_MEMORY_TRACING
248#define wxUSE_MEMORY_TRACING 0
249
250#undef wxUSE_GLOBAL_MEMORY_OPERATORS
251#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
252
253#undef wxUSE_DEBUG_NEW_ALWAYS
254#define wxUSE_DEBUG_NEW_ALWAYS 0
ce3ed50d
JS
255
256#undef wxUSE_THREADS
257#define wxUSE_THREADS 0
258
259#undef wxUSE_DBWIN32
260#define wxUSE_DBWIN32 0
261
262#undef wxUSE_OWNER_DRAWN
263#define wxUSE_OWNER_DRAWN 0
a3ef5bf5
JS
264#endif
265
57c208c5
JS
266#ifdef __TWIN32__
267
268#undef wxUSE_THREADS
269#define wxUSE_THREADS 0
270
271#undef wxUSE_DBWIN32
272#define wxUSE_DBWIN32 0
273
274#undef wxUSE_ODBC
275#define wxUSE_ODBC 0
276
277#endif
278
0a240683
JS
279#if defined(__WXMSW__) && !defined(__WIN32__)
280
281#undef wxUSE_THREADS
282#define wxUSE_THREADS 0
283
284#endif
285
2bda0e17 286#endif
bbcdf8bc 287 // _WX_SETUP_H_