X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/463b12b830010f3c8d4a518a6f68d4c549b10b28..95561ddfc3c0c84c71316d40cb539135fa68b440:/include/wx/defs.h?ds=sidebyside diff --git a/include/wx/defs.h b/include/wx/defs.h index af15a048aa..1a77bf608f 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -1,12 +1,12 @@ /** -* Name: defs.h -* Purpose: Declarations/definitions common to all wx source files -* Author: Julian Smart and others +* Name: defs.h +* Purpose: Declarations/definitions common to all wx source files +* Author: Julian Smart and others * Modified by: Ryan Norton (Converted to C) -* Created: 01/02/97 -* RCS-ID: $Id$ -* Copyright: (c) -* Licence: wxWindows licence +* Created: 01/02/97 +* RCS-ID: $Id$ +* Copyright: (c) +* Licence: wxWindows licence */ /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */ @@ -24,7 +24,7 @@ #include "wx/platform.h" -/* RN - only double-check the environment when building in C++ +/* RN - only double-check the environment when building in C++ Shouldn't configure pass the environment to all sub-libs too? */ #ifdef __cplusplus /* Make sure the environment is set correctly */ @@ -110,20 +110,6 @@ /* compiler defects workarounds */ /* ---------------------------------------------------------------------------- */ -#if defined(__VISUALC__) && !defined(WIN32) && !defined(__WXWINCE__) - /* VC1.5 does not have LPTSTR type */ -#define LPTSTR LPSTR -#define LPCTSTR LPCSTR -#elif defined(__BORLANDC__) && !defined(__WIN32__) -#ifndef LPTSTR -#define LPTSTR LPSTR -#endif -#ifndef LPCTSTR -#define LPCTSTR LPSTR -#endif -#endif - - /* Digital Unix C++ compiler only defines this symbol for .cxx and .hxx files, so define it ourselves (newer versions do it for all files, though, and @@ -234,11 +220,7 @@ typedef int wxWindowID; /* general, but there are places where you can use them to advantage */ /* without totally breaking ports that cannot use them. If you do, then */ /* wrap it in this guard, but such cases should still be relatively rare. */ -#ifndef __WIN16__ - #define wxUSE_NESTED_CLASSES 1 -#else - #define wxUSE_NESTED_CLASSES 0 -#endif +#define wxUSE_NESTED_CLASSES 1 /* check for explicit keyword support */ #ifndef HAVE_EXPLICIT @@ -287,12 +269,21 @@ typedef int wxWindowID; #endif #endif /* HAVE_CXX_CASTS */ +#ifdef HAVE_STATIC_CAST + #define wx_static_cast(t, x) static_cast(x) +#else + #define wx_static_cast(t, x) ((t)(x)) +#endif + #ifdef HAVE_CONST_CAST - #define wxConstCast(obj, className) const_cast(obj) + #define wx_const_cast(t, x) const_cast(x) #else - #define wxConstCast(obj, className) ((className *)(obj)) + #define wx_const_cast(t, x) ((t)(x)) #endif +/* for consistency with wxStatic/DynamicCast defined in wx/object.h */ +#define wxConstCast(obj, className) wx_const_cast(className *, obj) + #ifndef HAVE_STD_WSTRING #if defined(__VISUALC__) && (__VISUALC__ >= 1100) /* VC++ 6.0 and 5.0 have std::wstring (what about earlier versions?) */ @@ -566,14 +557,8 @@ enum /* to ensure compatibility with 2.0, we must use long */ #define wxCoord long #else /* !wxUSE_COMPATIBLE_COORD_TYPES */ - #ifdef __WIN16__ - /* under Win16, int is too small, so use long to allow for bigger */ - /* virtual canvases */ - typedef long wxCoord; - #else /* !Win16 */ /* other platforms we support have at least 32bit int - quite enough */ typedef int wxCoord; - #endif /* Win16/!Win16 */ #endif /* wxUSE_COMPATIBLE_COORD_TYPES/!wxUSE_COMPATIBLE_COORD_TYPES */ @@ -754,7 +739,7 @@ typedef wxUint32 wxDword; #define wxLongLongSuffix l #define wxLongLongFmtSpec _T("l") #define wxLongLongIsLong -#elif (defined(__VISUALC__) && defined(__WIN32__)) +#elif (defined(__VISUALC__) && defined(__WIN32__)) #define wxLongLong_t __int64 #define wxLongLongSuffix i64 #define wxLongLongFmtSpec _T("I64") @@ -766,7 +751,7 @@ typedef wxUint32 wxDword; #define wxLongLong_t __int64 #define wxLongLongSuffix i64 #define wxLongLongFmtSpec _T("Ld") -#elif defined(__DIGITALMARS__) +#elif defined(__DIGITALMARS__) #define wxLongLong_t __int64 #define wxLongLongSuffix LL #define wxLongLongFmtSpec _T("ll") @@ -1041,8 +1026,11 @@ enum wxStretch wxGROW = 0x2000, wxEXPAND = wxGROW, wxSHAPED = 0x4000, - wxADJUST_MINSIZE = 0x8000, - wxTILE = 0xc000 + wxFIXED_MINSIZE = 0x8000, + wxTILE = 0xc000, + + // for compatibility only, default now, don't use explicitly any more + wxADJUST_MINSIZE = 0x0000 }; /* border flags: the values are chosen for backwards compatibility */ @@ -1187,39 +1175,6 @@ enum wxBorder #define wxFRAME_EX_CONTEXTHELP 0x00000004 #define wxDIALOG_EX_CONTEXTHELP 0x00000004 -/* - * wxFrame/wxDialog style flags - */ -#define wxSTAY_ON_TOP 0x8000 -#define wxICONIZE 0x4000 -#define wxMINIMIZE wxICONIZE -#define wxMAXIMIZE 0x2000 -#define wxCLOSE_BOX 0x1000 - -#define wxSYSTEM_MENU 0x0800 -#define wxMINIMIZE_BOX 0x0400 -#define wxMAXIMIZE_BOX 0x0200 -#define wxTINY_CAPTION_HORIZ 0x0100 -#define wxTINY_CAPTION_VERT 0x0080 -#define wxRESIZE_BORDER 0x0040 - -#define wxDIALOG_NO_PARENT 0x0001 /* Don't make owned by apps top window */ -#define wxFRAME_NO_TASKBAR 0x0002 /* No taskbar button (MSW only) */ -#define wxFRAME_TOOL_WINDOW 0x0004 /* No taskbar button, no system menu */ -#define wxFRAME_FLOAT_ON_PARENT 0x0008 /* Always above its parent */ -#define wxFRAME_SHAPED 0x0010 /* Create a window that is able to be shaped */ - -/* deprecated versions defined for compatibility reasons */ -#define wxRESIZE_BOX wxMAXIMIZE_BOX -#define wxTHICK_FRAME wxRESIZE_BORDER - -/* obsolete styles, unused any more */ -#define wxDIALOG_MODAL 0x0020 /* free flag value 0x0020 */ -#define wxDIALOG_MODELESS 0 -#define wxNO_3D 0 -#define wxUSER_COLOURS 0 - - /* * MDI parent frame style flags * Can overlap with some of the above. @@ -1227,13 +1182,6 @@ enum wxBorder #define wxFRAME_NO_WINDOW_MENU 0x0100 -#define wxDEFAULT_FRAME_STYLE \ - (wxSYSTEM_MENU | wxRESIZE_BORDER | \ - wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxCLOSE_BOX | \ - wxCAPTION | wxCLIP_CHILDREN) - -#define wxDEFAULT_DIALOG_STYLE (wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX) - /* * wxExtDialog style flags */ @@ -2035,6 +1983,8 @@ enum wxUpdateUI #ifdef __WXMAC__ +#define WX_OPAQUE_TYPE( name ) struct wxOpaque##name + typedef unsigned char WXCOLORREF[6]; typedef void* WXHBITMAP; typedef void* WXHMETAFILE; @@ -2054,8 +2004,11 @@ typedef unsigned int WXUINT; typedef unsigned long WXDWORD; typedef unsigned short WXWORD; -typedef void* WXWidget; -typedef void* WXWindow; + +//typedef void* WXWidget; +//typedef void* WXWindow; +typedef WX_OPAQUE_TYPE(ControlRef ) * WXWidget ; +typedef WX_OPAQUE_TYPE(WindowRef) * WXWindow ; typedef void* WXDisplay; /* typedef WindowPtr WXHWND; */ @@ -2153,17 +2106,9 @@ typedef WX_NSView WXWidget; /* wxWindows BASE definition */ #ifdef __WXMSW__ /* the keywords needed for WinMain() declaration */ -#ifdef __WIN16__ -# ifdef __VISUALC__ -# define WXFAR __far -# else -# define WXFAR _far -# endif -#else /* Win32 */ -# ifndef WXFAR +#ifndef WXFAR # define WXFAR -# endif -#endif /* Win16/32 */ +#endif /* Stand-ins for Windows types to avoid #including all of windows.h */ typedef void * WXHWND;