If gettimeofday() is available we can achieve better than millisecond
precision (even if it usually isn't as high as microsecond), so use it as
clock source in wxStopWatch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69841
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
- Fix crash in wxArray::insert() overload taking iterator range (wsu).
- Added wxEventFilter class and wxEvtHandler::{Add,Remove}Filter().
- Added convenient wxCmdLineParser::AddLong{Option,Switch}() wrappers.
- Fix crash in wxArray::insert() overload taking iterator range (wsu).
- Added wxEventFilter class and wxEvtHandler::{Add,Remove}Filter().
- Added convenient wxCmdLineParser::AddLong{Option,Switch}() wrappers.
-- Added wxStopWatch::TimeInMicro() and wxGetUTCTimeUSec().
+- Added wxStopWatch::TimeInMicro() and wxGetUTCTimeUSec() and improved
+ wxStopWatch precision.
- Made wxGetLocalTimeMillis() really return local time, added
wxGetUTCTimeMillis() returning what this function used to return.
- Made wxGetLocalTimeMillis() really return local time, added
wxGetUTCTimeMillis() returning what this function used to return.
return gs_perfCounter.freq.QuadPart;
#endif // __WXMSW__
return gs_perfCounter.freq.QuadPart;
#endif // __WXMSW__
+#ifdef HAVE_GETTIMEOFDAY
+ // With gettimeofday() we can have nominally microsecond precision and
+ // while this is not the case in practice, it's still better than
+ // millisecond.
+ return MICROSECONDS_PER_SECOND;
+#else // !HAVE_GETTIMEOFDAY
// Currently milliseconds are used everywhere else.
return MILLISECONDS_PER_SECOND;
// Currently milliseconds are used everywhere else.
return MILLISECONDS_PER_SECOND;
+#endif // HAVE_GETTIMEOFDAY/!HAVE_GETTIMEOFDAY
}
void wxStopWatch::Start(long t0)
}
void wxStopWatch::Start(long t0)
+#ifdef HAVE_GETTIMEOFDAY
+ return wxGetUTCTimeUSec();
+#else // !HAVE_GETTIMEOFDAY
return wxGetUTCTimeMillis();
return wxGetUTCTimeMillis();
+#endif // HAVE_GETTIMEOFDAY/!HAVE_GETTIMEOFDAY
}
wxLongLong wxStopWatch::TimeInMicro() const
}
wxLongLong wxStopWatch::TimeInMicro() const