X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0544bc0aab888b4e064de10e451a4fa94ba0f33a..48e74ff549be8bb9b4a0c9a25e4dc67b33e7fbbe:/include/wx/defs.h?ds=sidebyside diff --git a/include/wx/defs.h b/include/wx/defs.h index f2449d0911..f99ef2326b 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -13,22 +13,9 @@ #define _WX_DEFS_H_ #ifdef __GNUG__ -#pragma interface "defs.h" + #pragma interface "defs.h" #endif -#include - -#include "wx/setup.h" - -#ifdef PACKAGE - #undef PACKAGE -#endif -#ifdef VERSION - #undef VERSION -#endif - -#include "wx/version.h" - // ---------------------------------------------------------------------------- // compiler and OS identification // ---------------------------------------------------------------------------- @@ -39,9 +26,7 @@ defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX) || \ defined(__EMX__) - #ifndef __UNIX__ - #define __UNIX__ - #endif // Unix + #define __UNIX_LIKE__ // Helps SGI compilation, apparently #ifdef __SGI__ @@ -68,6 +53,19 @@ #elif defined(applec) || defined(THINK_C) || ( defined( __MWERKS__ ) && !defined(__INTEL__) ) // MacOS +#elif defined(__OS2__) + #if defined(__IBMCPP__) + #define __VISAGEAVER__ __IBMCPP__ + #endif + #ifndef __WXOS2__ + #define __WXOS2__ + #endif + #ifndef __WXPM__ + #define __WXPM__ + #endif + + // Place other OS/2 compiler environment defines here + #define LINKAGEMODE _Optlink #else // Windows #ifndef __WINDOWS__ #define __WINDOWS__ @@ -86,6 +84,11 @@ #endif // compiler #endif // OS +// LINKAGEMODE mode is empty for everyting except OS/2 +#ifndef LINKAGEMODE + #define LINKAGEMODE +#endif // LINKAGEMODE + // suppress some Visual C++ warnings #ifdef __VISUALC__ # pragma warning(disable:4244) // conversion from double to float @@ -126,6 +129,14 @@ #if defined(__HPUX__) && defined(__GNUG__) #define va_list __gnuc_va_list #endif // HP-UX + +// Mingw32 gcc-2.95 uses new windows headers which are more ms-like +// we are setting this define because of the complex check +// using NORLANDER as Cygwin may follow. (header author is Anders Norlander) +#if defined(__MINGW32__) && (__GNUC__>=2) && (__GNUC_MINOR__>=95) +# define wxUSE_NORLANDER_HEADERS 1 +#endif + ////////////////////////////////////////////////////////////////////////////////// // Currently Only MS-Windows/NT, XView and Motif are supported @@ -175,11 +186,31 @@ // Make sure the environment is set correctly #if defined(__WXMSW__) && defined(__X__) #error "Target can't be both X and Windows" -#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && \ +#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && !defined(__WXPM__) && \ !defined(__WXMAC__) && !defined(__X__) && !defined(__WXQT__) && !defined(__WXSTUBS__) - #error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXSTUBS__]" + #error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXPM__|__WXSTUBS__]" #endif +// ---------------------------------------------------------------------------- +// wxWindows options +// ---------------------------------------------------------------------------- + +#include + +#include "wx/setup.h" + +// just in case they were defined in setup.h +#undef PACKAGE +#undef VERSION + +// if we're on a Unixsystem but didn't use configure (so that setup.h didn't +// define __UNIX__), do define __UNIX__ now +#if !defined(__UNIX__) && defined(__UNIX_LIKE__) + #define __UNIX__ +#endif // Unix + +#include "wx/version.h" + // ============================================================================ // non portable C++ features // ============================================================================ @@ -188,7 +219,7 @@ // check for native bool type and TRUE/FALSE constants // ---------------------------------------------------------------------------- -#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) || defined(__WXSTUBS__) +#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) || defined(__WXPM__) || defined(__WXSTUBS__) // Bool is now obsolete, use bool instead // typedef int Bool; @@ -233,6 +264,9 @@ #elif defined(__GNUWIN32__) // Cygwin supports bool #define HAVE_BOOL + #elif defined(__VISAGECPP__) + typedef unsigned long bool; + #define HAVE_BOOL #endif // compilers #endif // HAVE_BOOL @@ -263,7 +297,7 @@ typedef int wxWindowID; * Making or using wxWindows as a Windows DLL */ -#ifdef __WXMSW__ +#if defined(__WXMSW__) // _declspec works in BC++ 5 and later, as well as VC++ #if defined(__VISUALC__) || defined(__BORLANDC__) @@ -282,6 +316,22 @@ typedef int wxWindowID; # define WXDLLEXPORT_CTORFN # endif +#elif defined(__WXPM__) + +# ifdef WXMAKINGDLL +# define WXDLLEXPORT _Export +# define WXDLLEXPORT_DATA(type) _Export type +# define WXDLLEXPORT_CTORFN +# elif defined(WXUSINGDLL) +# define WXDLLEXPORT _Export +# define WXDLLEXPORT_DATA(type) _Export type +# define WXDLLEXPORT_CTORFN +# else +# define WXDLLEXPORT +# define WXDLLEXPORT_DATA(type) type +# define WXDLLEXPORT_CTORFN +# endif + #else # define WXDLLEXPORT # define WXDLLEXPORT_DATA(type) type @@ -408,7 +458,7 @@ enum wxWIN95, // Windows 95 wxWIN386, // Watcom 32-bit supervisor modus wxMGL_UNIX, // MGL with direct hardware access - wxMGL_X, // MGL on X + wxMGL_X, // MGL on X wxMGL_WIN32, // MGL on Win32 wxMGL_OS2 // MGL on OS/2 }; @@ -420,53 +470,53 @@ enum // fixed length types #define wxInt8 char signed -#define wxUint8 char unsigned +#define wxUint8 char unsigned #ifdef __WIN16__ -#define wxInt16 int signed -#define wxUint16 int unsigned -#define wxInt32 long signed -#define wxUint32 long unsigned +#define wxInt16 int signed +#define wxUint16 int unsigned +#define wxInt32 long signed +#define wxUint32 long unsigned #endif #ifdef __WIN32__ -#define wxInt16 short signed -#define wxUint16 short unsigned -#define wxInt32 int signed -#define wxUint32 int unsigned +#define wxInt16 short signed +#define wxUint16 short unsigned +#define wxInt32 int signed +#define wxUint32 int unsigned #endif #ifdef __WXMAC__ -#define wxInt16 short signed -#define wxUint16 short unsigned -#define wxInt32 int signed -#define wxUint32 int unsigned +#define wxInt16 short signed +#define wxUint16 short unsigned +#define wxInt32 int signed +#define wxUint32 int unsigned #endif #ifdef __WXOS2__ -#define wxInt16 short signed -#define wxUint16 short unsigned -#define wxInt32 int signed -#define wxUint32 int unsigned +#define wxInt16 short signed +#define wxUint16 short unsigned +#define wxInt32 int signed +#define wxUint32 int unsigned #endif #if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXOS2__) #if defined(SIZEOF_INT) /* well, this shouldn't happen... */ - #define wxInt16 short signed - #define wxUint16 short unsigned - #define wxInt32 int signed - #define wxUint32 int unsigned + #define wxInt16 short signed + #define wxUint16 short unsigned + #define wxInt32 int signed + #define wxUint32 int unsigned #else - #define wxInt16 short signed - #define wxUint16 short unsigned - #define wxInt32 int signed - #define wxUint32 int unsigned + #define wxInt16 short signed + #define wxUint16 short unsigned + #define wxInt32 int signed + #define wxUint32 int unsigned #endif #endif #define wxByte wxUint8 -#define wxWord wxUint16 +#define wxWord wxUint16 // byte sex @@ -486,12 +536,12 @@ enum ((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) | \ @@ -583,9 +633,12 @@ enum #define wxWANTS_CHARS 0x00040000 // Make window retained (mostly Motif, I think) -#define wxRETAINED 0x0002000 +#define wxRETAINED 0x00020000 #define wxBACKINGSTORE wxRETAINED +// don't invalidate the whole window (resulting in a PAINT event) when the +// window is resized (currently, makes sense for wxMSW only) +#define wxNO_FULL_REPAINT_ON_RESIZE 0x00010000 /* * wxFrame/wxDialog style flags */ @@ -856,10 +909,16 @@ enum #define wxPD_REMAINING_TIME 0x0020 /* - * extended dialog specifiers. these values are stored in a different + * wxHtmlWindow flags + */ +#define wxHW_SCROLLBAR_NEVER 0x0002 +#define wxHW_SCROLLBAR_AUTO 0x0004 + +/* + * extended dialog specifiers. these values are stored in a different * flag and thus do not overlap with other style flags. note that these * values do not correspond to the return values of the dialogs (for - * those values, look at the wxID_XXX defines). + * those values, look at the wxID_XXX defines). */ #define wxOK 0x00000001 #define wxYES_NO 0x00000002 @@ -970,9 +1029,11 @@ enum wxDirection // wxCENTRE = 0x0400 (defined above) -// centering into frame rather than screen -#define wxCENTER_FRAME 0x0004 - +// centering into frame rather than screen (obsolete) +#define wxCENTER_FRAME 0x0000 +// centre on screen rather than parent +#define wxCENTRE_ON_SCREEN 0x0004 +#define wxCENTER_ON_SCREEN wxCENTRE_ON_SCREEN // ---------------------------------------------------------------------------- // Possible SetSize flags @@ -1351,8 +1412,8 @@ typedef enum { // platform specific (implementation) parts of the headers // --------------------------------------------------------------------------- -#ifdef __WXMSW__ -// Stand-ins for Windows types, to avoid #including all of windows.h +#if defined(__WXMSW__) || defined(__WXPM__) +// Stand-ins for Windows types or OS/2, to avoid #including all of windows.h or os2.h typedef unsigned long WXHWND; typedef unsigned long WXHANDLE; typedef unsigned long WXHICON; @@ -1385,6 +1446,27 @@ typedef void * WXDRAWITEMSTRUCT; typedef void * WXMEASUREITEMSTRUCT; typedef void * WXLPCREATESTRUCT; +#if defined(__WXPM__) +typedef unsigned long WXMPARAM; +typedef unsigned long WXMSGID; +typedef void* WXRESULT; +typedef int (*WXFARPROC)(); +// some windows handles not defined by PM +typedef unsigned long HANDLE; +typedef unsigned long HICON; +typedef unsigned long HFONT; +typedef unsigned long HMENU; +typedef unsigned long HPEN; +typedef unsigned long HBRUSH; +typedef unsigned long HPALETTE; +typedef unsigned long HCURSOR; +typedef unsigned long HINSTANCE; +typedef unsigned long HIMAGELIST; +typedef unsigned long HGLOBAL; +typedef unsigned long DWORD; +typedef unsigned short WORD; +#endif + #if defined(__GNUWIN32__) || defined(__WXWINE__) typedef int (*WXFARPROC)(); #elif defined(__WIN32__)