X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a52475807e0521097764e5fe4cc738d80f13baad..1f0acb435592470b421b80df854fbbb08cd2853f:/include/wx/utils.h diff --git a/include/wx/utils.h b/include/wx/utils.h index 96d1a9acd1..b539373de9 100644 --- a/include/wx/utils.h +++ b/include/wx/utils.h @@ -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 @@ -54,6 +55,7 @@ class WXDLLIMPEXP_FWD_BASE wxProcess; class WXDLLIMPEXP_FWD_CORE wxFrame; class WXDLLIMPEXP_FWD_CORE wxWindow; class WXDLLIMPEXP_FWD_CORE wxWindowList; +class WXDLLIMPEXP_FWD_CORE wxEventLoop; // ---------------------------------------------------------------------------- // Arithmetic functions @@ -63,21 +65,35 @@ template inline typename wxImplicitConversionType::value wxMax(T1 a, T2 b) { - return (a > b) ? a : b; + typedef typename wxImplicitConversionType::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(a) > static_cast(b) ? a : b; } template inline typename wxImplicitConversionType::value wxMin(T1 a, T2 b) { - return (a < b) ? a : b; + typedef typename wxImplicitConversionType::value ResultType; + + return static_cast(a) < static_cast(b) ? a : b; } template inline typename wxImplicitConversionType3::value wxClip(T1 a, T2 b, T3 c) { - return (a < b) ? b : ((a > c) ? c : a); + typedef typename wxImplicitConversionType3::value ResultType; + + if ( static_cast(a) < static_cast(b) ) + return b; + + if ( static_cast(a) > static_cast(c) ) + return c; + + return a; } // ---------------------------------------------------------------------------- @@ -126,6 +142,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(); @@ -697,7 +715,9 @@ private: // disable all windows except the given one (used by both ctors) void DoDisable(wxWindow *winToSkip = NULL); - +#if defined(__WXOSX__) && wxOSX_USE_COCOA + wxEventLoop* m_modalEventLoop; +#endif wxWindowList *m_winDisabled; bool m_disabled;