]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/stopwatch.h
Add files necessary to run Expat configure.
[wxWidgets.git] / interface / wx / stopwatch.h
index 3dfba4a146301708c94bae18f837840140c9f03c..d67fa9ab9e3071c2d532c3511e277eb6016e4e9c 100644 (file)
@@ -3,18 +3,18 @@
 // Purpose:     interface of wxStopWatch
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxStopWatch
-    @wxheader{stopwatch.h}
 
-    The wxStopWatch class allow you to measure time intervals. For example, you may
-    use it to measure the time elapsed by some function:
+    The wxStopWatch class allow you to measure time intervals.
+
+    For example, you may use it to measure the time elapsed by some function:
 
     @code
-    wxStopWatch sw;
+        wxStopWatch sw;
         CallLongRunningFunction();
         wxLogMessage("The long running function took %ldms to execute",
                      sw.Time());
         wxLogMessage("And calling it twice took $ldms in all", sw.Time());
     @endcode
 
+    Since wxWidgets 2.9.3 this class uses @c ::QueryPerformanceCounter()
+    function under MSW to measure the elapsed time. It provides higher
+    precision than the usual timer functions but can suffer from bugs in its
+    implementation in some Windows XP versions. If you encounter such problems,
+    installing a Microsoft hot fix from http://support.microsoft.com/?id=896256
+    could be necessary.
+
     @library{wxbase}
     @category{misc}
 
@@ -39,8 +46,8 @@ public:
     wxStopWatch();
 
     /**
-        Pauses the stop watch. Call Resume() to resume
-        time measuring again.
+        Pauses the stop watch. Call Resume() to resume time measuring again.
+
         If this method is called several times, @c Resume() must be called the same
         number of times to really resume the stop watch. You may, however, call
         Start() to resume it unconditionally.
@@ -48,59 +55,36 @@ public:
     void Pause();
 
     /**
-        Resumes the stop watch which had been paused with
-        Pause().
+        Resumes the stop watch which had been paused with Pause().
     */
     void Resume();
 
     /**
         (Re)starts the stop watch with a given initial value.
+
+        The stopwatch will always be running after calling Start(), even if
+        Pause() had been called before and even if it had been called multiple
+        times.
     */
     void Start(long milliseconds = 0);
 
     /**
-        Returns the time in milliseconds since the start (or restart) or the last call
-        of
-        Pause().
+        Returns the time in milliseconds since the start (or restart) or the last
+        call of Pause().
+
+        @see TimeInMicro()
     */
     long Time() const;
-};
-
-
-
-// ============================================================================
-// Global functions/macros
-// ============================================================================
-
-/** @ingroup group_funcmacro_time */
-//@{
-
-/**
-    Returns the number of seconds since local time 00:00:00 Jan 1st 1970.
-
-    @see wxDateTime::Now()
 
-    @header{wx/stopwatch.h}
-*/
-long wxGetLocalTime();
-
-/**
-    Returns the number of milliseconds since local time 00:00:00 Jan 1st 1970.
-
-    @see wxDateTime::Now(), wxLongLong
-
-    @header{wx/stopwatch.h}
-*/
-wxLongLong wxGetLocalTimeMillis();
-
-/**
-    Returns the number of seconds since GMT 00:00:00 Jan 1st 1970.
-
-    @see wxDateTime::Now()
+    /**
+        Returns elapsed time in microseconds.
 
-    @header{wx/stopwatch.h}
-*/
-long wxGetUTCTime();
+        This method is similar to Time() but returns the elapsed time in
+        microseconds and not milliseconds. Notice that not all platforms really
+        can measure times with this precision.
 
-//@}
+        @since 2.9.3
+     */
+    wxLongLong TimeInMicro() const;
+};