#endif // Unix/!Unix
#endif
+// include the feature test macros
+#include "wx/features.h"
+
// suppress some Visual C++ warnings
#ifdef __VISUALC__
# pragma warning(disable:4201) // nonstandard extension used: nameless struct/union
#define wxInt8 char signed
#define wxUint8 char unsigned
-#if defined(__WIN16__) || (defined(SIZEOF_INT) && (SIZEOF_INT == 2))
-#define wxInt16 int signed
-#define wxUint16 int unsigned
-#define wxInt32 long signed
-#define wxUint32 long unsigned
-#else
-#define wxInt16 short signed
-#define wxUint16 short unsigned
-#define wxInt32 int signed
-#define wxUint32 int unsigned
-#endif
+#ifdef __WINDOWS__
+ #if defined(__WIN16__)
+ #define wxInt16 int signed
+ #define wxUint16 int unsigned
+ #define wxInt32 long signed
+ #define wxUint32 long unsigned
+ #elif defined(__WIN32__)
+ #define wxInt16 short signed
+ #define wxUint16 short unsigned
+ #define wxInt32 int signed
+ #define wxUint32 int unsigned
+ #else
+ // Win64 will have different type sizes
+ #error "Please define a 32 bit type"
+ #endif
+#else // !Windows
+ // SIZEOF_XXX are defined by configure
+ #if defined(SIZEOF_INT) && (SIZEOF_INT == 4)
+ #define wxInt16 short signed
+ #define wxUint16 short unsigned
+ #define wxInt32 int signed
+ #define wxUint32 int unsigned
+ #elif defined(SIZEOF_INT) && (SIZEOF_INT == 2)
+ #define wxInt16 int signed
+ #define wxUint16 int unsigned
+ #define wxInt32 long signed
+ #define wxUint32 long unsigned
+ #else
+ // assume sizeof(int) == 4 - what else can we do
+ wxCOMPILE_TIME_ASSERT( sizeof(int) == 4, IntMustBeExactly4Bytes);
+
+ #define wxInt16 short signed
+ #define wxUint16 short unsigned
+ #define wxInt32 int signed
+ #define wxUint32 int unsigned
+ #endif
+#endif // Win/!Win
#if defined(SIZEOF_LONG) && (SIZEOF_LONG == 8)
#define wxInt64 long signed
# define wxEXT_DIALOG_STYLE (wxDEFAULT_DIALOG_STYLE|wxED_CLIENT_MARGIN|wxED_STATIC_LINE)
#endif
-/*
- * wxToolBar style flags
- */
-#define wxTB_HORIZONTAL wxHORIZONTAL
-#define wxTB_VERTICAL wxVERTICAL
-#define wxTB_3DBUTTONS 0x0010
-// Flatbar/Coolbar under Win98/ GTK 1.2
-#define wxTB_FLAT 0x0020
-// use native docking under GTK
-#define wxTB_DOCKABLE 0x0040
-
/*
* wxMenuBar style flags
*/
#define wxTC_OWNERDRAW 0x0040
#define wxTC_MULTILINE wxNB_MULTILINE
+// wxToolBar style flags
+#define wxTB_HORIZONTAL wxHORIZONTAL // == 0x0004
+#define wxTB_VERTICAL wxVERTICAL // == 0x0008
+#define wxTB_3DBUTTONS 0x0010
+#define wxTB_FLAT 0x0020 // supported only under Win98+/GTK
+#define wxTB_DOCKABLE 0x0040 // use native docking under GTK
+#define wxTB_NOICONS 0x0080 // don't show the icons
+#define wxTB_TEXT 0x0100 // show the text
+
/*
* wxStatusBar95 flags
*/
// constants
// ----------------------------------------------------------------------------
+// menu and toolbar item kinds
+enum wxItemKind
+{
+ wxITEM_SEPARATOR = -1,
+ wxITEM_NORMAL,
+ wxITEM_CHECK,
+ wxITEM_RADIO,
+ wxITEM_MAX
+};
+
// hit test results
enum wxHitTest
{