]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/utils.h
Deprecate second parameter of wxSlider::SetTickFreq().
[wxWidgets.git] / include / wx / utils.h
index 96d1a9acd180fc4a8d607da485d303a872c4197d..0906fa834c95fdad275ad0380337635ac4d4abcd 100644 (file)
@@ -20,6 +20,7 @@
 #include "wx/list.h"
 #include "wx/filefn.h"
 #include "wx/hashmap.h"
+#include "wx/versioninfo.h"
 #include "wx/meta/implicitconversion.h"
 
 #if wxUSE_GUI
@@ -63,21 +64,35 @@ template<typename T1, typename T2>
 inline typename wxImplicitConversionType<T1,T2>::value
 wxMax(T1 a, T2 b)
 {
-    return (a > b) ? a : b;
+    typedef typename wxImplicitConversionType<T1,T2>::value ResultType;
+
+    // Cast both operands to the same type before comparing them to avoid
+    // warnings about signed/unsigned comparisons from some compilers:
+    return static_cast<ResultType>(a) > static_cast<ResultType>(b) ? a : b;
 }
 
 template<typename T1, typename T2>
 inline typename wxImplicitConversionType<T1,T2>::value
 wxMin(T1 a, T2 b)
 {
-    return (a < b) ? a : b;
+    typedef typename wxImplicitConversionType<T1,T2>::value ResultType;
+
+    return static_cast<ResultType>(a) < static_cast<ResultType>(b) ? a : b;
 }
 
 template<typename T1, typename T2, typename T3>
 inline typename wxImplicitConversionType3<T1,T2,T3>::value
 wxClip(T1 a, T2 b, T3 c)
 {
-    return (a < b) ? b : ((a > c) ? c : a);
+    typedef typename wxImplicitConversionType3<T1,T2,T3>::value ResultType;
+
+    if ( static_cast<ResultType>(a) < static_cast<ResultType>(b) )
+        return b;
+
+    if ( static_cast<ResultType>(a) > static_cast<ResultType>(c) )
+        return c;
+
+    return a;
 }
 
 // ----------------------------------------------------------------------------
@@ -126,6 +141,8 @@ WXDLLIMPEXP_BASE void wxBell();
 WXDLLIMPEXP_CORE void wxInfoMessageBox(wxWindow* parent);
 #endif // wxUSE_MSGDLG
 
+WXDLLIMPEXP_CORE wxVersionInfo wxGetLibraryVersionInfo();
+
 // Get OS description as a user-readable string
 WXDLLIMPEXP_BASE wxString wxGetOsDescription();