]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
Numerous changes to comply with use of wxCoord.
[wxWidgets.git] / include / wx / defs.h
index d17af9918c8f572363ae57bdb32651f9fbc6b84a..ed28273f398be3a2f272ac2f7ae44349c4f19a24 100644 (file)
         #endif
     #endif // Sun
 
-    #if defined(__hpux) && !defined(__HPUX__)
-        #define __HPUX__
-    #endif // HP-UX
-
 #elif defined(applec) || defined(THINK_C) || ( defined( __MWERKS__ ) && !defined(__INTEL__) )
         // MacOS
 #elif defined(__OS2__)
 #undef PACKAGE
 #undef VERSION
 
+// this has to be done after including setup.h which might
+// define __HPUX__ 1 itself
+#if defined(__hpux) && !defined(__HPUX__)
+    #define __HPUX__
+#endif // HP-UX
+
 // 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__)
@@ -307,7 +309,7 @@ typedef int wxWindowID;
 // wxCALLBACK should be used for the functions which are called back by
 // Windows (such as compare function for wxListCtrl)
 #if defined(__WXMSW__)
-    #if defined(__MINGW32__)
+    #if defined(__MINGW32__) || defined(__GNUWIN32__)
         #define wxCALLBACK __attribute__((stdcall))
     #else
         // both VC++ and Borland understand this
@@ -504,9 +506,25 @@ enum
 };
 
 // ----------------------------------------------------------------------------
-// machine specific settings
+// standard wxWindows types
 // ----------------------------------------------------------------------------
 
+// the type for screen and DC coordinates
+
+#if wxUSE_COMPATIBLE_COORD_TYPES
+    // 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
+
 // fixed length types
 
 #define wxInt8    char    signed
@@ -558,6 +576,10 @@ enum
 #define  wxByte   wxUint8
 #define  wxWord   wxUint16
 
+// ----------------------------------------------------------------------------
+// byte ordering related definition and macros
+// ----------------------------------------------------------------------------
+
 // byte sex
 
 #define  wxBIG_ENDIAN     4321
@@ -873,11 +895,11 @@ enum wxStretch
 /*
  * wxGauge flags
  */
-#define wxGA_PROGRESSBAR     0x0004
 #define wxGA_HORIZONTAL      wxHORIZONTAL
 #define wxGA_VERTICAL        wxVERTICAL
+#define wxGA_PROGRESSBAR     0x0010
 // Windows only
-#define wxGA_SMOOTH          0x0010
+#define wxGA_SMOOTH          0x0020
 
 /*
  * wxSlider flags
@@ -1515,6 +1537,8 @@ typedef long            WXLPARAM;
 #  define WXLPARAM      MPARAM
 #  define RECT          RECTL
 #  define LOGFONT       FATTRS
+#  define LOWORD        SHORT1FROMMP
+#  define HIWORD        SHORT2FROMMP
 #endif
 typedef unsigned long   WXCOLORREF;
 typedef void *          WXRGNDATA;