diff options
author | David Walter Seikel | 2016-03-28 22:28:34 +1000 |
---|---|---|
committer | David Walter Seikel | 2016-03-28 22:28:34 +1000 |
commit | 7028cbe09c688437910a25623098762bf0fa592d (patch) | |
tree | 10b5af58277d9880380c2251f109325542c4e6eb /src/others/irrlicht-1.8.1/include/ITimer.h | |
parent | Move lemon to the src/others directory. (diff) | |
download | SledjHamr-7028cbe09c688437910a25623098762bf0fa592d.zip SledjHamr-7028cbe09c688437910a25623098762bf0fa592d.tar.gz SledjHamr-7028cbe09c688437910a25623098762bf0fa592d.tar.bz2 SledjHamr-7028cbe09c688437910a25623098762bf0fa592d.tar.xz |
Move Irrlicht to src/others.
Diffstat (limited to 'src/others/irrlicht-1.8.1/include/ITimer.h')
-rw-r--r-- | src/others/irrlicht-1.8.1/include/ITimer.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/include/ITimer.h b/src/others/irrlicht-1.8.1/include/ITimer.h new file mode 100644 index 0000000..815ebd6 --- /dev/null +++ b/src/others/irrlicht-1.8.1/include/ITimer.h | |||
@@ -0,0 +1,103 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | ||
2 | // This file is part of the "Irrlicht Engine". | ||
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | ||
4 | |||
5 | #ifndef __I_TIMER_H_INCLUDED__ | ||
6 | #define __I_TIMER_H_INCLUDED__ | ||
7 | |||
8 | #include "IReferenceCounted.h" | ||
9 | |||
10 | namespace irr | ||
11 | { | ||
12 | |||
13 | //! Interface for getting and manipulating the virtual time | ||
14 | class ITimer : public virtual IReferenceCounted | ||
15 | { | ||
16 | public: | ||
17 | //! Returns current real time in milliseconds of the system. | ||
18 | /** This value does not start with 0 when the application starts. | ||
19 | For example in one implementation the value returned could be the | ||
20 | amount of milliseconds which have elapsed since the system was started. | ||
21 | */ | ||
22 | virtual u32 getRealTime() const = 0; | ||
23 | |||
24 | enum EWeekday | ||
25 | { | ||
26 | EWD_SUNDAY=0, | ||
27 | EWD_MONDAY, | ||
28 | EWD_TUESDAY, | ||
29 | EWD_WEDNESDAY, | ||
30 | EWD_THURSDAY, | ||
31 | EWD_FRIDAY, | ||
32 | EWD_SATURDAY | ||
33 | }; | ||
34 | |||
35 | struct RealTimeDate | ||
36 | { | ||
37 | // Hour of the day, from 0 to 23 | ||
38 | u32 Hour; | ||
39 | // Minute of the hour, from 0 to 59 | ||
40 | u32 Minute; | ||
41 | // Second of the minute, due to extra seconds from 0 to 61 | ||
42 | u32 Second; | ||
43 | // Year of the gregorian calender | ||
44 | s32 Year; | ||
45 | // Month of the year, from 1 to 12 | ||
46 | u32 Month; | ||
47 | // Day of the month, from 1 to 31 | ||
48 | u32 Day; | ||
49 | // Weekday for the current day | ||
50 | EWeekday Weekday; | ||
51 | // Day of the year, from 1 to 366 | ||
52 | u32 Yearday; | ||
53 | // Whether daylight saving is on | ||
54 | bool IsDST; | ||
55 | }; | ||
56 | |||
57 | virtual RealTimeDate getRealTimeAndDate() const = 0; | ||
58 | |||
59 | //! Returns current virtual time in milliseconds. | ||
60 | /** This value starts with 0 and can be manipulated using setTime(), | ||
61 | stopTimer(), startTimer(), etc. This value depends on the set speed of | ||
62 | the timer if the timer is stopped, etc. If you need the system time, | ||
63 | use getRealTime() */ | ||
64 | virtual u32 getTime() const = 0; | ||
65 | |||
66 | //! sets current virtual time | ||
67 | virtual void setTime(u32 time) = 0; | ||
68 | |||
69 | //! Stops the virtual timer. | ||
70 | /** The timer is reference counted, which means everything which calls | ||
71 | stop() will also have to call start(), otherwise the timer may not | ||
72 | start/stop correctly again. */ | ||
73 | virtual void stop() = 0; | ||
74 | |||
75 | //! Starts the virtual timer. | ||
76 | /** The timer is reference counted, which means everything which calls | ||
77 | stop() will also have to call start(), otherwise the timer may not | ||
78 | start/stop correctly again. */ | ||
79 | virtual void start() = 0; | ||
80 | |||
81 | //! Sets the speed of the timer | ||
82 | /** The speed is the factor with which the time is running faster or | ||
83 | slower then the real system time. */ | ||
84 | virtual void setSpeed(f32 speed = 1.0f) = 0; | ||
85 | |||
86 | //! Returns current speed of the timer | ||
87 | /** The speed is the factor with which the time is running faster or | ||
88 | slower then the real system time. */ | ||
89 | virtual f32 getSpeed() const = 0; | ||
90 | |||
91 | //! Returns if the virtual timer is currently stopped | ||
92 | virtual bool isStopped() const = 0; | ||
93 | |||
94 | //! Advances the virtual time | ||
95 | /** Makes the virtual timer update the time value based on the real | ||
96 | time. This is called automatically when calling IrrlichtDevice::run(), | ||
97 | but you can call it manually if you don't use this method. */ | ||
98 | virtual void tick() = 0; | ||
99 | }; | ||
100 | |||
101 | } // end namespace irr | ||
102 | |||
103 | #endif | ||