X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/861ccde48164e232a7486e6084db4727faf50e0a..9026ad85a9792a6e5a6b41320886b154c38a9d0d:/include/wx/defs.h?ds=sidebyside diff --git a/include/wx/defs.h b/include/wx/defs.h index 9f4da9c1a3..2df71e010d 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -124,6 +124,18 @@ #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 @@ -209,7 +221,6 @@ 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 @@ -347,8 +358,133 @@ WXDLLEXPORT_DATA(extern const bool) wxFalse; // 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) ( \ + (((wxInt16) (val) & (wxInt16) 0x00ffU) << 8) | \ + (((wxInt16) (val) & (wxInt16) 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) ( \ + (((wxInt32) (val) & (wxInt32) 0x000000ffU) << 24) | \ + (((wxInt32) (val) & (wxInt32) 0x0000ff00U) << 8) | \ + (((wxInt32) (val) & (wxInt32) 0x00ff0000U) >> 8) | \ + (((wxInt32) (val) & (wxInt32) 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) +#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) +#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. @@ -373,7 +509,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #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 @@ -394,10 +530,18 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); // 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 */ /* @@ -617,6 +761,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxSP_3D 0x0004 #define wxSP_BORDER 0x0008 #define wxSP_PERMIT_UNSPLIT 0x0010 +#define wxSP_LIVE_UPDATE 0x0020 /* * wxFrame extra flags @@ -1153,7 +1298,7 @@ typedef void * WXDRAWITEMSTRUCT; typedef void * WXMEASUREITEMSTRUCT; typedef void * WXLPCREATESTRUCT; -#ifdef __GNUWIN32__ +#if defined(__GNUWIN32__) || defined(__WXWINE__) typedef int (*WXFARPROC)(); #elif defined(__WIN32__) typedef int (__stdcall *WXFARPROC)();