/[pcsx2_0.9.7]/trunk/3rdparty/wxWidgets/include/wx/stopwatch.h
ViewVC logotype

Annotation of /trunk/3rdparty/wxWidgets/include/wx/stopwatch.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10 - (hide annotations) (download)
Mon Sep 6 11:40:06 2010 UTC (9 years, 10 months ago) by william
File MIME type: text/plain
File size: 3163 byte(s)
exported r3113 from ./upstream/trunk
1 william 10 /////////////////////////////////////////////////////////////////////////////
2     // Name: wx/stopwatch.h
3     // Purpose: wxStopWatch and global time-related functions
4     // Author: Julian Smart (wxTimer), Sylvain Bougnoux (wxStopWatch)
5     // Created: 26.06.03 (extracted from wx/timer.h)
6     // RCS-ID: $Id: stopwatch.h 40624 2006-08-16 12:17:05Z MW $
7     // Copyright: (c) 1998-2003 Julian Smart, Sylvain Bougnoux
8     // Licence: wxWindows licence
9     /////////////////////////////////////////////////////////////////////////////
10    
11     #ifndef _WX_STOPWATCH_H_
12     #define _WX_STOPWATCH_H_
13    
14     #include "wx/defs.h"
15     #include "wx/longlong.h"
16    
17     // ----------------------------------------------------------------------------
18     // wxStopWatch: measure time intervals with up to 1ms resolution
19     // ----------------------------------------------------------------------------
20    
21     #if wxUSE_STOPWATCH
22    
23     class WXDLLIMPEXP_BASE wxStopWatch
24     {
25     public:
26     // ctor starts the stop watch
27     wxStopWatch() { m_pauseCount = 0; Start(); }
28    
29     // start the stop watch at the moment t0
30     void Start(long t0 = 0);
31    
32     // pause the stop watch
33     void Pause()
34     {
35     if ( m_pauseCount++ == 0 )
36     m_pause = GetElapsedTime();
37     }
38    
39     // resume it
40     void Resume()
41     {
42     wxASSERT_MSG( m_pauseCount > 0,
43     _T("Resuming stop watch which is not paused") );
44    
45     if ( --m_pauseCount == 0 )
46     Start(m_pause);
47     }
48    
49     // get elapsed time since the last Start() in milliseconds
50     long Time() const;
51    
52     protected:
53     // returns the elapsed time since t0
54     long GetElapsedTime() const;
55    
56     private:
57     // the time of the last Start()
58     wxLongLong m_t0;
59    
60     // the time of the last Pause() (only valid if m_pauseCount > 0)
61     long m_pause;
62    
63     // if > 0, the stop watch is paused, otherwise it is running
64     int m_pauseCount;
65     };
66    
67     #endif // wxUSE_STOPWATCH
68    
69     #if wxUSE_LONGLONG && WXWIN_COMPATIBILITY_2_6
70    
71     // Starts a global timer
72     // -- DEPRECATED: use wxStopWatch instead
73     wxDEPRECATED( void WXDLLIMPEXP_BASE wxStartTimer() );
74    
75     // Gets elapsed milliseconds since last wxStartTimer or wxGetElapsedTime
76     // -- DEPRECATED: use wxStopWatch instead
77     wxDEPRECATED( long WXDLLIMPEXP_BASE wxGetElapsedTime(bool resetTimer = true) );
78    
79     #endif // wxUSE_LONGLONG && WXWIN_COMPATIBILITY_2_6
80    
81     // ----------------------------------------------------------------------------
82     // global time functions
83     // ----------------------------------------------------------------------------
84    
85     // Get number of seconds since local time 00:00:00 Jan 1st 1970.
86     extern long WXDLLIMPEXP_BASE wxGetLocalTime();
87    
88     // Get number of seconds since GMT 00:00:00, Jan 1st 1970.
89     extern long WXDLLIMPEXP_BASE wxGetUTCTime();
90    
91     #if wxUSE_LONGLONG
92     typedef wxLongLong wxMilliClock_t;
93     #else
94     typedef double wxMilliClock_t;
95     #endif // wxUSE_LONGLONG
96    
97     // Get number of milliseconds since local time 00:00:00 Jan 1st 1970
98     extern wxMilliClock_t WXDLLIMPEXP_BASE wxGetLocalTimeMillis();
99    
100     #define wxGetCurrentTime() wxGetLocalTime()
101    
102     #endif // _WX_STOPWATCH_H_

  ViewVC Help
Powered by ViewVC 1.1.22