mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 09:09:52 -06:00
Import r67258 of the wxWidgets trunk, which I expect will before
long become wxWidgets 2.9.2, which in turn is expected to be the last 2.9 release before the 3.0 stable release. Since the full wxWidgets distribution is rather large, I have imported only the parts that we use, on a subdirectory basis: art include/wx/*.* include/wx/aui include/wx/cocoa include/wx/generic include/wx/gtk include/wx/meta include/wx/msw include/wx/osx include/wx/persist include/wx/private include/wx/protocol include/wx/unix src/aui src/common src/generic src/gtk src/msw src/osx src/unix git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7380 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
114
Externals/wxWidgets3/include/wx/stopwatch.h
vendored
Normal file
114
Externals/wxWidgets3/include/wx/stopwatch.h
vendored
Normal file
@ -0,0 +1,114 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/stopwatch.h
|
||||
// Purpose: wxStopWatch and global time-related functions
|
||||
// Author: Julian Smart (wxTimer), Sylvain Bougnoux (wxStopWatch)
|
||||
// Created: 26.06.03 (extracted from wx/timer.h)
|
||||
// RCS-ID: $Id: stopwatch.h 61508 2009-07-23 20:30:22Z VZ $
|
||||
// Copyright: (c) 1998-2003 Julian Smart, Sylvain Bougnoux
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_STOPWATCH_H_
|
||||
#define _WX_STOPWATCH_H_
|
||||
|
||||
#include "wx/defs.h"
|
||||
#include "wx/longlong.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxStopWatch: measure time intervals with up to 1ms resolution
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#if wxUSE_STOPWATCH
|
||||
|
||||
class WXDLLIMPEXP_BASE wxStopWatch
|
||||
{
|
||||
public:
|
||||
// ctor starts the stop watch
|
||||
wxStopWatch() { m_pauseCount = 0; Start(); }
|
||||
|
||||
// start the stop watch at the moment t0
|
||||
void Start(long t0 = 0);
|
||||
|
||||
// pause the stop watch
|
||||
void Pause()
|
||||
{
|
||||
if ( m_pauseCount++ == 0 )
|
||||
m_pause = GetElapsedTime();
|
||||
}
|
||||
|
||||
// resume it
|
||||
void Resume()
|
||||
{
|
||||
wxASSERT_MSG( m_pauseCount > 0,
|
||||
wxT("Resuming stop watch which is not paused") );
|
||||
|
||||
if ( --m_pauseCount == 0 )
|
||||
Start(m_pause);
|
||||
}
|
||||
|
||||
// get elapsed time since the last Start() in milliseconds
|
||||
long Time() const;
|
||||
|
||||
protected:
|
||||
// returns the elapsed time since t0
|
||||
long GetElapsedTime() const;
|
||||
|
||||
private:
|
||||
// the time of the last Start()
|
||||
wxLongLong m_t0;
|
||||
|
||||
// the time of the last Pause() (only valid if m_pauseCount > 0)
|
||||
long m_pause;
|
||||
|
||||
// if > 0, the stop watch is paused, otherwise it is running
|
||||
int m_pauseCount;
|
||||
};
|
||||
|
||||
#endif // wxUSE_STOPWATCH
|
||||
|
||||
#if wxUSE_LONGLONG && WXWIN_COMPATIBILITY_2_6
|
||||
|
||||
// Starts a global timer
|
||||
// -- DEPRECATED: use wxStopWatch instead
|
||||
wxDEPRECATED( void WXDLLIMPEXP_BASE wxStartTimer() );
|
||||
|
||||
// Gets elapsed milliseconds since last wxStartTimer or wxGetElapsedTime
|
||||
// -- DEPRECATED: use wxStopWatch instead
|
||||
wxDEPRECATED( long WXDLLIMPEXP_BASE wxGetElapsedTime(bool resetTimer = true) );
|
||||
|
||||
#endif // wxUSE_LONGLONG && WXWIN_COMPATIBILITY_2_6
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// global time functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// Get number of seconds since local time 00:00:00 Jan 1st 1970.
|
||||
extern long WXDLLIMPEXP_BASE wxGetLocalTime();
|
||||
|
||||
// Get number of seconds since GMT 00:00:00, Jan 1st 1970.
|
||||
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
|
||||
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_
|
Reference in New Issue
Block a user