]> git.saurik.com Git - wxWidgets.git/commitdiff
wxCALLBACK added, wxCOMPFUNC_CONV moved to defs.h
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 1 Oct 1999 18:27:51 +0000 (18:27 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 1 Oct 1999 18:27:51 +0000 (18:27 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/defs.h
include/wx/dynarray.h
include/wx/msw/listctrl.h

index 42dbd1e910c45d14fa1d2f99bd2d33dbacab7690..4d44264966fe9449cd999d859eee237f0d856ee3 100644 (file)
@@ -297,9 +297,40 @@ typedef int wxWindowID;
     #define WXUNUSED(identifier) identifier
 #endif
 
-/*
- * Making or using wxWindows as a Windows DLL
- */
+// ----------------------------------------------------------------------------
+// portable calling conventions macros
+// ----------------------------------------------------------------------------
+
+// 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__)
+        #define wxCALLBACK __attribute__((stdcall))
+    #else
+        // both VC++ and Borland understand this
+        #define wxCALLBACK _stdcall
+    #endif
+#else
+    // no stdcall under Unix
+    #define wxCALLBACK
+#endif // platform
+
+// callling convention for the qsort(3) callback
+
+#if defined(__VISUALC__)
+  #define   wxCMPFUNC_CONV    _cdecl
+#elif defined(__VISAGECPP__)
+  #define   wxCMPFUNC_CONV    _Optlink
+#else   // !Visual C++
+  #define   wxCMPFUNC_CONV
+#endif  // compiler
+
+// compatibility :-(
+#define CMPFUNC_CONV wxCMPFUNC_CONV
+
+// ----------------------------------------------------------------------------
+// Making or using wxWindows as a Windows DLL
+// ----------------------------------------------------------------------------
 
 #if defined(__WXMSW__)
 
index caf4b814d1e2241ee043022b7e205381c11e912a..9f8f7a3ad027e44b6549a75ca791eed38affd204 100644 (file)
  callback compare function for quick sort
  must return negative value, 0 or positive value if pItem1 <, = or > pItem2
  */
-
-#if defined(__VISUALC__)
-  #define   CMPFUNC_CONV    _cdecl
-#elif defined(__VISAGECPP__)
-  #define   CMPFUNC_CONV    _Optlink
-#else   // !Visual C++
-  #define   CMPFUNC_CONV
-#endif  // compiler
-typedef int (CMPFUNC_CONV *CMPFUNC)(const void* pItem1, const void* pItem2);
+typedef int (wxCMPFUNC_CONV *CMPFUNC)(const void* pItem1, const void* pItem2);
 
 // ----------------------------------------------------------------------------
 /**
index 0c59d4bb6de484f384f59722c4582d10b097f94e..ef0a992d068e8a03d98bcfa847dc314f4af9e820 100644 (file)
@@ -173,7 +173,7 @@ public:
 };
 
 // type of compare function for wxListCtrl sort operation
-typedef int (CALLBACK *wxListCtrlCompare)(long item1, long item2, long sortData);
+typedef int (wxCALLBACK *wxListCtrlCompare)(long item1, long item2, long sortData);
 
 class WXDLLEXPORT wxListCtrl: public wxControl
 {