// 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
typedef unsigned int bool;
#endif // bool
-typedef unsigned char wxByte;
typedef short int WXTYPE;
// special care should be taken with this type under Windows where the real
// Callback function type definition
typedef void (*wxFunction) (wxObject&, wxEvent&);
+// ----------------------------------------------------------------------------
+// machine specific settings
+// ----------------------------------------------------------------------------
+
+// fixed length types
+
+typedef char signed wxInt8;
+typedef char unsigned wxUint8;
+
+#ifdef __WIN16__
+typedef int signed wxInt16;
+typedef int unsigned wxUint16;
+typedef long signed wxInt32;
+typedef long unsigned wxUint32;
+#endif
+
+#ifdef __WIN32__
+typedef short signed wxInt16;
+typedef short unsigned wxUint16;
+typedef int signed wxInt32;
+typedef int unsigned wxUint32;
+#endif
+
+#ifdef __WXMAC__
+typedef short signed wxInt16;
+typedef short unsigned wxUint16;
+typedef int signed wxInt32;
+typedef int unsigned wxUint32;
+#endif
+
+#ifdef __WXOS2__
+typedef short signed wxInt16;
+typedef short unsigned wxUint16;
+typedef int signed wxInt32;
+typedef int unsigned wxUint32;
+#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;
+ typedef int signed wxInt32;
+ typedef int unsigned wxUint32;
+ #endif
+#endif
+
+typedef wxUint8 wxByte;
+typedef wxUint16 wxWord;
+
+// byte sex
+
+#define wxBIG_ENDIAN 4321
+#define wxLITTLE_ENDIAN 1234
+#define wxPDP_ENDIAN 3412
+
+#ifdef WORDS_BIGENDIAN
+#define wxBYTE_ORDER wxBIG_ENDIAN
+#else
+#define wxBYTE_ORDER wxLITTLE_ENDIAN
+#endif
+
+// byte swapping
+
+#define wxUINT16_SWAP_ALWAYS(val) \
+ ((wxUint16) ( \
+ (((wxUint16) (val) & (wxUint16) 0x00ffU) << 8) | \
+ (((wxUint16) (val) & (wxUint16) 0xff00U) >> 8)))
+
+#define wxINT16_SWAP_ALWAYS(val) \
+ ((wxInt16) ( \
+ (((wxUint16) (val) & (wxUint16) 0x00ffU) << 8) | \
+ (((wxUint16) (val) & (wxUint16) 0xff00U) >> 8)))
+
+#define wxUINT32_SWAP_ALWAYS(val) \
+ ((wxUint32) ( \
+ (((wxUint32) (val) & (wxUint32) 0x000000ffU) << 24) | \
+ (((wxUint32) (val) & (wxUint32) 0x0000ff00U) << 8) | \
+ (((wxUint32) (val) & (wxUint32) 0x00ff0000U) >> 8) | \
+ (((wxUint32) (val) & (wxUint32) 0xff000000U) >> 24)))
+
+#define wxINT32_SWAP_ALWAYS(val) \
+ ((wxInt32) ( \
+ (((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_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_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
+
+// ----------------------------------------------------------------------------
+// Window style flags
+// ----------------------------------------------------------------------------
+
/*
- * Window style flags.
* Values are chosen so they can be |'ed in a bit list.
* Some styles are used across more than one group,
* so the values mustn't clash with others in the group.
#define wxSUNKEN_BORDER 0x08000000
#define wxRAISED_BORDER 0x04000000
#define wxBORDER 0x02000000
-#define wxSIMPLE_BORDER 0x02000000
+#define wxSIMPLE_BORDER wxBORDER
#define wxSTATIC_BORDER 0x01000000
#define wxTRANSPARENT_WINDOW 0x00100000
#define wxNO_BORDER 0x00200000
// outside of dialogs.
#define wxTAB_TRAVERSAL 0x00080000
+// Add this style if the control wants to get all keyboard messages (under
+// Windows, it won't normally get the dialog navigation key events)
+#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 */
/*
#define wxSP_3D 0x0004
#define wxSP_BORDER 0x0008
#define wxSP_PERMIT_UNSPLIT 0x0010
+#define wxSP_LIVE_UPDATE 0x0020
/*
* wxFrame extra flags
#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
typedef void * WXMEASUREITEMSTRUCT;
typedef void * WXLPCREATESTRUCT;
-#ifdef __GNUWIN32__
+#if defined(__GNUWIN32__) || defined(__WXWINE__)
typedef int (*WXFARPROC)();
#elif defined(__WIN32__)
typedef int (__stdcall *WXFARPROC)();