X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c74e7fe1de14f32dcd6f3c9cdd727de540bbd0e..76443e70a5ccbd0a1c3cc6a999297b7ab46766f7:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index f567f81f72..676b0ace7b 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -30,7 +30,7 @@ #if defined(__unix) || defined(__unix__) || defined(____SVR4____) || \ defined(__LINUX__) || defined(__sgi ) || \ defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX) || \ - defined(__EMX__) + defined(__EMX__) || defined( __VMS ) #define __UNIX_LIKE__ @@ -126,7 +126,9 @@ // Digital Unix C++ compiler only defines this symbol for .cxx and .hxx files, // so define it ourselves #ifdef __DECCXX - #define __cplusplus +#ifndef __VMS +# define __cplusplus +#endif #endif // __DECCXX // Resolves linking problems under HP-UX @@ -143,6 +145,12 @@ #endif #endif +// "old" GNUWIN32 is the one without Norlander's headers: it lacks the standard +// Win32 headers and we define the used stuff ourselves for it in +// wx/msw/gnuwin32/extra.h +#if defined(__MINGW32__) && !wxUSE_NORLANDER_HEADERS + #define __GNUWIN32_OLD__ +#endif ////////////////////////////////////////////////////////////////////////////////// // Currently Only MS-Windows/NT, XView and Motif are supported @@ -293,7 +301,9 @@ // NB: of course, this doesn't replace the standard type, because, for // example, overloading based on bool/int parameter doesn't work and // so should be avoided in portable programs - typedef unsigned int bool; +#ifndef VMS +typedef unsigned int bool; +#endif #endif // bool typedef short int WXTYPE; @@ -586,20 +596,20 @@ enum #define wxByte wxUint8 #define wxWord wxUint16 -// base floating point types +// base floating point types // wxFloat32 : 32 bit IEEE float ( 1 sign , 8 exponent bits , 23 fraction bits // wxFloat64 : 64 bit IEEE float ( 1 sign , 11 exponent bits , 52 fraction bits // wxDouble : native fastest representation that has at least wxFloat64 // precision, so use the IEEE types for storage , and this for calculations -typedef float wxFloat32 ; -#if defined( __WXMAC__ ) && defined (__MWERKS__) +typedef float wxFloat32 ; +#if defined( __WXMAC__ ) && defined (__MWERKS__) typedef short double wxFloat64; #else typedef double wxFloat64; #endif -#if defined( __WXMAC__ ) && !defined( __POWERPC__ ) +#if defined( __WXMAC__ ) && !defined( __POWERPC__ ) typedef long double wxDouble; #else typedef double wxDouble ; @@ -626,13 +636,13 @@ typedef float wxFloat32 ; #if defined (__MWERKS__) && ( (__MWERKS__ < 0x0900) || macintosh ) // assembler versions for these #ifdef __POWERPC__ - inline wxUint16 wxUINT16_SWAP_ALWAYS( wxUint16 i ) + inline wxUint16 wxUINT16_SWAP_ALWAYS( wxUint16 i ) {return (__lhbrx( &i , 0 ) ) ;} - inline wxInt16 wxINT16_SWAP_ALWAYS( wxInt16 i ) + inline wxInt16 wxINT16_SWAP_ALWAYS( wxInt16 i ) {return (__lhbrx( &i , 0 ) ) ;} - inline wxUint32 wxUINT32_SWAP_ALWAYS( wxUint32 i ) + inline wxUint32 wxUINT32_SWAP_ALWAYS( wxUint32 i ) {return (__lwbrx( &i , 0 ) ) ;} - inline wxInt32 wxINT32_SWAP_ALWAYS( wxInt32 i ) + inline wxInt32 wxINT32_SWAP_ALWAYS( wxInt32 i ) {return (__lwbrx( &i , 0 ) ) ;} #else #pragma parameter __D0 wxUINT16_SWAP_ALWAYS(__D0) @@ -1676,7 +1686,6 @@ typedef unsigned long WXMSGID; typedef void* WXRESULT; typedef int (*WXFARPROC)(); // some windows handles not defined by PM -typedef unsigned long COLORREF; typedef unsigned long HANDLE; typedef unsigned long HICON; typedef unsigned long HFONT; @@ -1690,7 +1699,33 @@ typedef unsigned long HIMAGELIST; typedef unsigned long HGLOBAL; typedef unsigned long DWORD; typedef unsigned short WORD; -#endif + +// WIN32 graphics types for OS/2 GPI + +// RGB under OS2 is more like a PALETTEENTRY struct under Windows so we need a real RGB def +#define OS2RGB(r,g,b) ((DWORD ((BYTE) (r) | ((WORD) (g) << 8)) | (((DWORD)(BYTE)(b)) << 16))) + +typedef unsigned long COLORREF; +#define GetBValue(rgb) ((BYTE)((rgb) >> 16)) +#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8)) +#define GetRValue(rgb) ((BYTE)(rgb)) +#define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i))) +#define PALETTERGB(r,g,b) (0x02000000 | OS2RGB(r,g,b)) +// OS2's RGB/RGB2 is backwards from this +typedef struct tagPALETTEENTRY +{ + char bRed; + char bGreen; + char bBlue; + char bFlags; +} PALETTEENTRY; +typedef struct tagLOGPALETTE +{ + WORD palVersion; + WORD palNumentries; + WORD PALETTEENTRY[1]; +} LOGPALETTE; +#endif //__WXPM__ #if defined(__GNUWIN32__) || defined(__WXWINE__) typedef int (*WXFARPROC)(); @@ -1755,6 +1790,10 @@ typedef struct _GdkWindow GdkPixmap; typedef struct _GdkCursor GdkCursor; typedef struct _GdkRegion GdkRegion; typedef struct _GdkDragContext GdkDragContext; +#ifdef HAVE_XIM +typedef struct _GdkIC GdkIC; +typedef struct _GdkICAttr GdkICAttr; +#endif /* Stand-ins for GTK types */ typedef struct _GtkWidget GtkWidget;