define true/false if the compiler doesn't have them

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2003-01-07 22:29:59 +00:00
parent 038305d008
commit 90b1d65f2f
2 changed files with 19 additions and 27 deletions

View File

@ -19,6 +19,7 @@ All:
- Implemented alignment for wxGrid bool editor and renderer
- Support wxListCtrl columns alignment for all platforms and not just MSW
- Added wxDateSpan::operator==() and !=() (Lukasz Michalski)
- use true/false throughout the library instead of TRUE/FALSE
Unix:

View File

@ -174,35 +174,26 @@
typedef unsigned int bool;
#endif // bool
#ifdef __cplusplus
// define boolean constants: don't use true/false here as not all compilers
// support them but also redefine TRUE which could have been defined as 1
// by previous headers: this would be incorrect as our TRUE is supposed to
// be of type bool, just like true, not int
//
// however if the user code absolutely needs TRUE to be defined in its own
// way, it can predefine WX_TRUE_DEFINED to prevent the redefinition here
#ifdef TRUE
#ifndef WX_TRUE_DEFINED
#undef TRUE
#undef FALSE
#endif
#endif
// deal with TRUE/true stuff: we assume that if the compiler supports bool, it
// supports true/false as well and that, OTOH, if it does _not_ support bool,
// it doesn't support these keywords (this is less sure, in particular VC++
// 4.x could be a problem here)
#ifndef HAVE_BOOL
#define true ((bool)1)
#define false ((bool)0)
#endif
#ifndef TRUE
#define TRUE ((bool)1)
#define FALSE ((bool)0)
#endif
#else // !__cplusplus
// the definitions above don't work for C sources
#ifndef TRUE
#define TRUE 1
#endif
// for backwards compatibility, also define TRUE and FALSE
//
// note that these definitions should work both in C++ and C code, so don't
// use true/false below
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#endif // C++/!C++
#ifndef FALSE
#define FALSE 0
#endif
typedef short int WXTYPE;