#if wxCHECK_WATCOM_VERSION(1,4)
#define HAVE_SSIZE_T
#endif
-#ifndef HAVE_SSIZE_T
+#ifdef HAVE_SSIZE_T
+ #ifdef __UNIX__
+ #include <sys/types.h>
+ #endif
+#else // !HAVE_SSIZE_T
#if SIZEOF_SIZE_T == 4
typedef wxInt32 ssize_t;
#elif SIZEOF_SIZE_T == 8
#endif
#endif
+// we can't rely on Windows _W64 being defined as windows.h may not be included
+// so define our own equivalent: this should be used with types like WXLPARAM
+// or WXWPARAM which are 64 bit under Win64 to avoid warnings each time we cast
+// it to a pointer or a handle (which results in hundreds of warnings as Win32
+// API often passes pointers in them)
+#if wxCHECK_VISUALC_VERSION(7)
+ #define wxW64 __w64
+#else
+ #define wxW64
+#endif
+
/*
Define signed and unsigned integral types big enough to contain all of long,
size_t and void *.
/*
Win64 case: size_t is the only integral type big enough for "void *".
- Notice that wxUIntPtr should be also defined as size_t when building
- under Win32 with MSVC with /Wp64 option as otherwise any conversion
- between ints and pointers results in a warning 4311 or 4312, even if it
- is safe under Win32. Using size_t (declared with __w64) allows to avoid
- them.
+ Notice that we must use __w64 to avoid warnings about casting pointers
+ to wxIntPtr (which we do often as this is what it is defined for) in 32
+ bit build with MSVC.
*/
- #define wxIntPtr ssize_t
+ typedef wxW64 ssize_t wxIntPtr;
typedef size_t wxUIntPtr;
#elif SIZEOF_LONG >= SIZEOF_VOID_P
/*
*/
#define wxNullPtr ((void *)NULL)
+
+/* Define wxChar16 and wxChar32 */
+
+#if wxUSE_WCHAR_T && (!defined(SIZEOF_WCHAR_T) || (SIZEOF_WCHAR_T == 2))
+ #define wxWCHAR_T_IS_WXCHAR16
+ typedef wchar_t wxChar16;
+#else
+ typedef wxUint16 wxChar16;
+#endif
+
+#if wxUSE_WCHAR_T && defined(SIZEOF_WCHAR_T) && (SIZEOF_WCHAR_T == 4)
+ #define wxWCHAR_T_IS_WXCHAR32
+ typedef wchar_t wxChar32;
+#else
+ typedef wxUint32 wxChar32;
+#endif
+
+
/* ---------------------------------------------------------------------------- */
/* byte ordering related definition and macros */
/* ---------------------------------------------------------------------------- */
#if wxHAS_INT64
#define wxUINT64_SWAP_ON_BE(val) wxUINT64_SWAP_ALWAYS(val)
#define wxUINT64_SWAP_ON_LE(val) (val)
+ #define wxINT64_SWAP_ON_BE(val) wxINT64_SWAP_ALWAYS(val)
+ #define wxINT64_SWAP_ON_LE(val) (val)
#endif
#else
#define wxUINT16_SWAP_ON_LE(val) wxUINT16_SWAP_ALWAYS(val)
#if wxHAS_INT64
#define wxUINT64_SWAP_ON_LE(val) wxUINT64_SWAP_ALWAYS(val)
#define wxUINT64_SWAP_ON_BE(val) (val)
+ #define wxINT64_SWAP_ON_LE(val) wxINT64_SWAP_ALWAYS(val)
+ #define wxINT64_SWAP_ON_BE(val) (val)
#endif
#endif
typedef unsigned short WXWORD;
typedef WX_OPAQUE_TYPE(PicHandle ) * WXHMETAFILE ;
+#if wxOSX_USE_CARBON
typedef WX_OPAQUE_TYPE(ControlRef ) * WXWidget ;
typedef WX_OPAQUE_TYPE(WindowRef) * WXWindow ;
+#endif
typedef void* WXDisplay;
DECLARE_WXCOCOA_OBJC_CLASS(NSThread);
DECLARE_WXCOCOA_OBJC_CLASS(NSWindow);
DECLARE_WXCOCOA_OBJC_CLASS(NSView);
-#ifdef __WXMAC__
-// things added for __WXMAC__
-DECLARE_WXCOCOA_OBJC_CLASS(NSString);
-#else
-// things only for __WXCOCOA__
+#ifndef __WXMAC__
typedef WX_NSView WXWidget; /* wxWidgets BASE definition */
#endif
#endif /* __WXCOCOA__ || ( __WXMAC__ &__DARWIN__)*/
+#ifdef __WXMAC__
+
+DECLARE_WXCOCOA_OBJC_CLASS(NSString);
+
+#if wxOSX_USE_COCOA
+
+typedef WX_NSWindow WXWindow;
+typedef WX_NSView WXWidget;
+
+#elif wxOSX_USE_IPHONE
+
+DECLARE_WXCOCOA_OBJC_CLASS(UIWindow);
+DECLARE_WXCOCOA_OBJC_CLASS(UIView);
+DECLARE_WXCOCOA_OBJC_CLASS(UIFont);
+
+typedef WX_UIWindow WXWindow;
+typedef WX_UIView WXWidget;
+
+#endif
+
+#endif // __WXMAC__
+
#if defined(__WXPALMOS__)
typedef void * WXHWND;
# define WXFAR
#endif
-// we can't rely on Windows _W64 being defined as windows.h may not be included
-// so define our own equivalent: this should be used with types like WXLPARAM
-// or WXWPARAM which are 64 bit under Win64 to avoid warnings each time we cast
-// it to a pointer or a handle (which results in hundreds of warnings as Win32
-// API often passes pointers in them)
-#if wxCHECK_VISUALC_VERSION(7)
- #define wxW64 __w64
-#else
- #define wxW64
-#endif
-
/* Stand-ins for Windows types to avoid #including all of windows.h */
typedef void * WXHWND;
typedef void * WXHANDLE;