]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/stopwatch.h
Further performance optimizations
[wxWidgets.git] / include / wx / stopwatch.h
index dcb5542f20890ee77ba0edaa3ff863bf61ba615a..583c75a495242563f9db20f11fc9c3e54746437e 100644 (file)
@@ -32,7 +32,7 @@ public:
     // pause the stop watch
     void Pause()
     {
-        if ( !m_pauseCount++ )
+        if ( m_pauseCount++ == 0 )
             m_pause = GetElapsedTime();
     }
 
@@ -42,7 +42,7 @@ public:
         wxASSERT_MSG( m_pauseCount > 0,
                       _T("Resuming stop watch which is not paused") );
 
-        if ( !--m_pauseCount )
+        if ( --m_pauseCount == 0 )
             Start(m_pause);
     }
 
@@ -90,8 +90,10 @@ extern long WXDLLIMPEXP_BASE wxGetUTCTime();
 
 #if wxUSE_LONGLONG
     typedef wxLongLong wxMilliClock_t;
+    inline long wxMilliClockToLong(wxLongLong ll) { return ll.ToLong(); }
 #else
     typedef double wxMilliClock_t;
+    inline long wxMilliClockToLong(double d) { return wx_truncate_cast(long, d); }
 #endif // wxUSE_LONGLONG
 
 // Get number of milliseconds since local time 00:00:00 Jan 1st 1970
@@ -99,4 +101,14 @@ extern wxMilliClock_t WXDLLIMPEXP_BASE wxGetLocalTimeMillis();
 
 #define wxGetCurrentTime() wxGetLocalTime()
 
+// on some really old systems gettimeofday() doesn't have the second argument,
+// define wxGetTimeOfDay() to hide this difference
+#ifdef HAVE_GETTIMEOFDAY
+    #ifdef WX_GETTIMEOFDAY_NO_TZ
+        #define wxGetTimeOfDay(tv)      gettimeofday(tv)
+    #else
+        #define wxGetTimeOfDay(tv)      gettimeofday((tv), NULL)
+    #endif
+#endif // HAVE_GETTIMEOFDAY
+
 #endif // _WX_STOPWATCH_H_