#include <stddef.h>
#include "wx/setup.h"
+
+#ifdef PACKAGE
+ #undef PACKAGE
+#endif
+#ifdef VERSION
+ #undef VERSION
+#endif
+
#include "wx/version.h"
// ----------------------------------------------------------------------------
// OS
#if defined(__unix) || defined(__unix__) || defined(____SVR4____) || \
defined(__LINUX__) || defined(__sgi ) || \
- defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX)
+ defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX) || \
+ defined(__EMX__)
#ifndef __UNIX__
#define __UNIX__
# pragma warning(disable:4100) // unreferenced formal parameter
# pragma warning(disable:4511) // copy ctor couldn't be generated
# pragma warning(disable:4512) // operator=() couldn't be generated
+#ifndef WIN32
+# pragma warning(disable:4134) // conversion between pointers to members of same class
+# pragma warning(disable:4135) // conversion between different integral types
+# pragma warning(disable:4769) // assignment of near pointer to long integer
+#endif
#endif // __VISUALC__
// suppress some Salford C++ warnings
#define __WIN32__
#endif
+#ifdef __WXWINE__
+ #ifndef __WIN32__
+ #define __WIN32__
+ #endif
+ #ifndef __WIN95__
+ #define __WIN95__
+ #endif
+ #ifndef STRICT
+ #define STRICT
+ #endif
+#endif
+
#ifndef __WIN32__
#define __WIN16__
#endif
#if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXOS2__)
#if defined(SIZEOF_INT)
- #if (SIZEOF_SHORT == 2)
typedef short signed wxInt16;
typedef short unsigned wxUint16;
- #else
- #error "FIXME"
- #endif
- #if (SIZEOF_INT == 4)
typedef int signed wxInt32;
typedef int unsigned wxUint32;
- #else
- #error "FIXME"
- #endif
#else
typedef short signed wxInt16;
typedef short unsigned wxUint16;
#define wxINT16_SWAP_ALWAYS(val) \
((wxInt16) ( \
- (((wxInt16) (val) & (wxInt16) 0x00ffU) << 8) | \
- (((wxInt16) (val) & (wxInt16) 0xff00U) >> 8)))
+ (((wxUint16) (val) & (wxUint16) 0x00ffU) << 8) | \
+ (((wxUint16) (val) & (wxUint16) 0xff00U) >> 8)))
#define wxUINT32_SWAP_ALWAYS(val) \
((wxUint32) ( \
#define wxINT32_SWAP_ALWAYS(val) \
((wxInt32) ( \
- (((wxInt32) (val) & (wxInt32) 0x000000ffU) << 24) | \
- (((wxInt32) (val) & (wxInt32) 0x0000ff00U) << 8) | \
- (((wxInt32) (val) & (wxInt32) 0x00ff0000U) >> 8) | \
- (((wxInt32) (val) & (wxInt32) 0xff000000U) >> 24)))
+ (((wxUint32) (val) & (wxUint32) 0x000000ffU) << 24) | \
+ (((wxUint32) (val) & (wxUint32) 0x0000ff00U) << 8) | \
+ (((wxUint32) (val) & (wxUint32) 0x00ff0000U) >> 8) | \
+ (((wxUint32) (val) & (wxUint32) 0xff000000U) >> 24)))
// machine specific byte swapping
#ifdef WORDS_BIGENDIAN
- #define wxUINT16_SWAP_FROM_LE(val) wxUINT16_SWAP_ALWAYS(val)
- #define wxINT16_SWAP_FROM_LE(val) wxINT16_SWAP_ALWAYS(val)
- #define wxUINT16_SWAP_FROM_BE(val) (val)
- #define wxINT16_SWAP_FROM_BE(val) (val)
- #define wxUINT32_SWAP_FROM_LE(val) wxUINT32_SWAP_ALWAYS(val)
- #define wxINT32_SWAP_FROM_LE(val) wxINT32_SWAP_ALWAYS(val)
- #define wxUINT32_SWAP_FROM_BE(val) (val)
- #define wxINT32_SWAP_FROM_BE(val) (val)
+ #define wxUINT16_SWAP_ON_BE(val) wxUINT16_SWAP_ALWAYS(val)
+ #define wxINT16_SWAP_ON_BE(val) wxINT16_SWAP_ALWAYS(val)
+ #define wxUINT16_SWAP_ON_LE(val) (val)
+ #define wxINT16_SWAP_ON_LE(val) (val)
+ #define wxUINT32_SWAP_ON_BE(val) wxUINT32_SWAP_ALWAYS(val)
+ #define wxINT32_SWAP_ON_BE(val) wxINT32_SWAP_ALWAYS(val)
+ #define wxUINT32_SWAP_ON_LE(val) (val)
+ #define wxINT32_SWAP_ON_LE(val) (val)
#else
- #define wxUINT16_SWAP_FROM_BE(val) wxUINT16_SWAP_ALWAYS(val)
- #define wxINT16_SWAP_FROM_BE(val) wxINT16_SWAP_ALWAYS(val)
- #define wxUINT16_SWAP_FROM_LE(val) (val)
- #define wxINT16_SWAP_FROM_LE(val) (val)
- #define wxUINT32_SWAP_FROM_BE(val) wxUINT32_SWAP_ALWAYS(val)
- #define wxINT32_SWAP_FROM_BE(val) wxINT32_SWAP_ALWAYS(val)
- #define wxUINT32_SWAP_FROM_LE(val) (val)
- #define wxINT32_SWAP_FROM_LE(val) (val)
+ #define wxUINT16_SWAP_ON_LE(val) wxUINT16_SWAP_ALWAYS(val)
+ #define wxINT16_SWAP_ON_LE(val) wxINT16_SWAP_ALWAYS(val)
+ #define wxUINT16_SWAP_ON_BE(val) (val)
+ #define wxINT16_SWAP_ON_BE(val) (val)
+ #define wxUINT32_SWAP_ON_LE(val) wxUINT32_SWAP_ALWAYS(val)
+ #define wxINT32_SWAP_ON_LE(val) wxINT32_SWAP_ALWAYS(val)
+ #define wxUINT32_SWAP_ON_BE(val) (val)
+ #define wxINT32_SWAP_ON_BE(val) (val)
#endif
// ----------------------------------------------------------------------------
#define wxWANTS_CHARS 0x00040000
// Orientations
-#define wxHORIZONTAL 0x01
-#define wxVERTICAL 0x02
-#define wxBOTH (wxVERTICAL|wxHORIZONTAL)
+enum wxOrientation
+{
+ wxHORIZONTAL = 0x01,
+ wxVERTICAL = 0x02,
+ wxBOTH = (wxVERTICAL | wxHORIZONTAL)
+};
+
#define wxCENTER_FRAME 0x04 /* centering into frame rather than screen */
/*
*/
// use native docking
#define wxMB_DOCKABLE 0x0001
+// make all menus tearoff menus, even if not set on per-menu basis
+#define wxMB_TEAROFF 0x0002
+/*
+ * wxMenu style flags
+ */
+#define wxMENU_TEAROFF 0x0001
/*
* Apply to all panel items
#define wxSP_3D 0x0004
#define wxSP_BORDER 0x0008
#define wxSP_PERMIT_UNSPLIT 0x0010
+#define wxSP_LIVE_UPDATE 0x0020
/*
* wxFrame extra flags
#define wxPD_CAN_ABORT 0x0001
#define wxPD_APP_MODAL 0x0002
#define wxPD_AUTO_HIDE 0x0004
+#define wxPD_ELAPSED_TIME 0x0008
+#define wxPD_ESTIMATED_TIME 0x0010
+#define wxPD_REMAINING_TIME 0x0020
/*
* GDI descriptions
#define wxCANCEL 0x0004
#define wxYES 0x0008
#define wxNO 0x0010
-
-#define wxICON_EXCLAMATION 0x0020
-#define wxICON_HAND 0x0040
-#define wxICON_QUESTION 0x0080
-#define wxICON_INFORMATION 0x0100
+#define wxNO_DEFAULT 0x0020
+#define wxYES_DEFAULT 0x0000 // has no effect
+#define wxICON_EXCLAMATION 0x0040
+#define wxICON_HAND 0x0080
+#define wxICON_QUESTION 0x0100
+#define wxICON_INFORMATION 0x0200
#define wxICON_STOP wxICON_HAND
#define wxICON_ASTERISK wxICON_INFORMATION
-#define wxICON_MASK (0x0020|0x0040|0x0080|0x0100)
+#define wxICON_MASK (0x0040|0x0080|0x0100|0x0200)
#define wxCENTRE 0x0200
#define wxCENTER wxCENTRE
typedef void * WXMEASUREITEMSTRUCT;
typedef void * WXLPCREATESTRUCT;
-#ifdef __GNUWIN32__
+#if defined(__GNUWIN32__) || defined(__WXWINE__)
typedef int (*WXFARPROC)();
#elif defined(__WIN32__)
typedef int (__stdcall *WXFARPROC)();
typedef void* WXImage;
typedef void* WXCursor;
typedef void* WXFontList;
+
+typedef unsigned long Atom; /* this might fail on a few architectures */
+
#endif // Motif
#ifdef __WXGTK__