X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5f9fd7ea86d211e3681a71c9f70303aa72b5de3c..748a3af8e74ce74fe143650af0b2da2534c70d45:/src/common/timercmn.cpp diff --git a/src/common/timercmn.cpp b/src/common/timercmn.cpp index 84053540a8..f1173ff163 100644 --- a/src/common/timercmn.cpp +++ b/src/common/timercmn.cpp @@ -53,6 +53,13 @@ #define HAVE_FTIME #endif +#if defined(__VISAGECPP__) && !defined(HAVE_FTIME) + #define HAVE_FTIME +# if __IBMCPP__ >= 400 + # define ftime(x) _ftime(x) +# endif +#endif + #include #ifndef __WXMAC__ #include // for time_t @@ -88,12 +95,6 @@ #endif #endif // HAVE_GETTIMEOFDAY -// ---------------------------------------------------------------------------- -// prototypes -// ---------------------------------------------------------------------------- - -wxLongLong wxGetLocalTimeMillis(); - // ============================================================================ // implementation // ============================================================================ @@ -274,7 +275,7 @@ wxLongLong wxGetLocalTimeMillis() (void)ftime(&tp); val *= tp.time; return (val + tp.millitm); -#else +#else // no gettimeofday() nor ftime() // We use wxGetLocalTime() to get the seconds since // 00:00:00 Jan 1st 1970 and then whatever is available // to get millisecond resolution. @@ -285,21 +286,31 @@ wxLongLong wxGetLocalTimeMillis() val *= wxGetLocalTime(); -#if defined(__VISAGECPP__) -#warning "Possible clock skew bug in wxStopWatch!" - DATETIME dt; - ::DosGetDateTime(&dt); - val += (dt.hundredths*10); -#elif defined (__WIN32__) -#warning "Possible clock skew bug in wxStopWatch!" +// GRG: This will go soon as all WIN32 seem to have ftime +#if defined (__WIN32__) + // If your platform/compiler needs to use two different functions + // to get ms resolution, please do NOT just shut off these warnings, + // drop me a line instead at + #warning "Possible clock skew bug in wxGetLocalTimeMillis()!" + SYSTEMTIME st; ::GetLocalTime(&st); val += st.wMilliseconds; -#else -#warning "wxStopWatch will be up to second resolution!" +#else // !Win32 + // If your platform/compiler does not support ms resolution please + // do NOT just shut off these warnings, drop me a line instead at + // + + #if defined(__VISUALC__) + #pragma message("wxStopWatch will be up to second resolution!") + #elif defined(__BORLANDC__) + #pragma message "wxStopWatch will be up to second resolution!" + #else + #warning "wxStopWatch will be up to second resolution!" + #endif // compiler #endif return val; -#endif +#endif // time functions }