Box2D  2.3.0
A 2D Physics Engine for Games
b2Timer.h
1 /*
2 * Copyright (c) 2011 Erin Catto http://box2d.org
3 *
4 * This software is provided 'as-is', without any express or implied
5 * warranty. In no event will the authors be held liable for any damages
6 * arising from the use of this software.
7 * Permission is granted to anyone to use this software for any purpose,
8 * including commercial applications, and to alter it and redistribute it
9 * freely, subject to the following restrictions:
10 * 1. The origin of this software must not be misrepresented; you must not
11 * claim that you wrote the original software. If you use this software
12 * in a product, an acknowledgment in the product documentation would be
13 * appreciated but is not required.
14 * 2. Altered source versions must be plainly marked as such, and must not be
15 * misrepresented as being the original software.
16 * 3. This notice may not be removed or altered from any source distribution.
17 */
18 
19 #ifndef B2_TIMER_H
20 #define B2_TIMER_H
21 
23 
26 class b2Timer
27 {
28 public:
29 
31  b2Timer();
32 
34  void Reset();
35 
37  float32 GetMilliseconds() const;
38 
39 private:
40 
41 #if defined(_WIN32)
42  float64 m_start;
43  static float64 s_invFrequency;
44 #elif defined(__linux__) || defined (__APPLE__)
45  unsigned long m_start_sec;
46  unsigned long m_start_usec;
47 #endif
48 };
49 
50 #endif