#include "wx/version.h"
// Helps SGI compilation, apparently
-#if defined(__SGI__) && defined(__GNUG__)
+#if defined(__SGI__)
+#if defined(__GNUG__)
#define __need_wchar_t
+#else
+/* Note I use the term __SGI_CC__ for both cc and CC, its not a good idea to
+ * mix gcc and cc/CC, the name mangling is different */
+#define __SGI_CC__
+#endif
#endif
// Eliminate double/float warnings
typedef unsigned int bool;
#endif
+#if defined(_MSC_VER) && (_MSC_VER == 1020)
+#define bool unsigned int
+#endif
+
#if ( defined(_MSC_VER) && (_MSC_VER <= 800) ) || defined(__GNUWIN32__)
#define byte unsigned char
#endif
// a question of style, because delete will do it itself anyhow, but it might
// be considered as an error by some overzealous debugging implementations of
// the library, so we do it ourselves)
-#define wxDELETE(p) if ( (p) != NULL ) { delete (p); p = NULL; }
+#if defined(__SGI_CC__)
+// Okay this is bad styling, but the native SGI compiler is very picky, it
+// wont let you compare/assign between a NULL (void *) and another pointer
+// type. To be really clean we'd need to pass in another argument, the type
+// of p.
+// Also note the use of 0L, this would allow future possible 64bit support
+// (as yet untested) by ensuring that we zero all the bits in a pointer
+// (which is always the same length as a long (at least with the LP64 standard)
+// --- offer aug 98
+#define wxDELETE(p) if ( (p) ) { delete (p); p = 0L; }
+#else
+#define wxDELETE(p) if ( (p) != NULL ) { delete p; p = NULL; }
+#endif /* __SGI__CC__ */
// delete an array and NULL it (see comments above)
-#define wxDELETEA(p) if ( (p) != NULL ) { delete [] (p); p = NULL; }
+#if defined(__SGI_CC__)
+// see above comment.
+#define wxDELETEA(p) if ( (p) ) { delete [] (p); p = 0L; }
+#else
+#define wxDELETEA(p) if ( ((void *) (p)) != NULL ) { delete [] p; p = NULL; }
+#endif /* __SGI__CC__ */
/// size of statically declared array
#define WXSIZEOF(array) (sizeof(array)/sizeof(array[0]))
+// Use of these suppresses some compiler warnings
+WXDLLEXPORT_DATA(extern const bool) wxTrue;
+WXDLLEXPORT_DATA(extern const bool) wxFalse;
+
// ----------------------------------------------------------------------------
// compiler and OS identification
// ----------------------------------------------------------------------------
// OS
-#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__)
+#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__) || defined(__sgi ) || defined(__unix__)
#ifndef __UNIX__
#define __UNIX__
#endif
// warnings just must be disabled
#ifdef __VISUALC__
#pragma warning(disable: 4514) // unreferenced inline func has been removed
-/*
+/*
you might be tempted to disable this one also: triggered by CHECK and FAIL
macros in debug.h, but it's, overall, is a rather useful one, so I leave it
and will try to find some way to disable this warning just for CHECK/FAIL.
* Window (cross-group) styles now take up the first half
* of the flag, and control-specific styles the
* second half.
- *
+ *
*/
/*
/*
* wxToolBar style flags
*/
-
+
#define wxTB_3DBUTTONS 0x8000
#define wxTB_HORIZONTAL 0x0002
#define wxTB_VERTICAL 0x0004
/*
* Apply to all panel items
*/
-
+
#define wxCOLOURED 0x0800
// Alignment for panel item labels: replaces characters with zeros
// when creating label, so spaces can be included in string for alignment.
/*
* wxSlider flags
*/
-
+
#define wxSL_HORIZONTAL wxHORIZONTAL
#define wxSL_VERTICAL wxVERTICAL
// The next one is obsolete - use scroll events instead
/*
* wxScrollBar flags
*/
-
+
#define wxSB_HORIZONTAL wxHORIZONTAL
#define wxSB_VERTICAL wxVERTICAL
// Virtual keycodes
-enum _Virtual_keycodes {
+enum wxKeyCode {
WXK_BACK = 8,
WXK_TAB = 9,
WXK_RETURN = 13,
#define wxID_PASTE 5032
#define wxID_CLEAR 5033
#define wxID_FIND 5034
+#define wxID_DUPLICATE 5035
#define wxID_FILE1 5050
#define wxID_FILE2 5051
#define wxID_NO 5104
#define wxID_STATIC 5105
+#define wxID_HIGHEST 5999
+
#ifdef __WXMSW__
// Stand-ins for Windows types, to avoid
// #including all of windows.h
typedef void * WXRGNDATA;
typedef void * WXMSG;
typedef unsigned long WXHCONV;
+typedef unsigned long WXHKEY;
typedef void * WXDRAWITEMSTRUCT;
typedef void * WXMEASUREITEMSTRUCT;
typedef void * WXLPCREATESTRUCT;
#endif
+#ifdef __WXMOTIF__
+// Stand-ins for X/Xt/Motif types
+typedef void* WXWindow;
+typedef void* WXWidget;
+typedef void* WXAppContext;
+typedef void* WXColormap;
+typedef void WXDisplay;
+typedef void WXEvent;
+typedef void* WXCursor;
+typedef void* WXPixmap;
+typedef void* WXFontStructPtr;
+typedef void* WXGC;
+typedef void* WXRegion;
+typedef void* WXFont;
+typedef void* WXImage;
+typedef void* WXCursor;
+typedef void* WXFontList;
+#endif
+
#endif
// _WX_DEFS_H_