aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/time/je_timer.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-01-12 21:48:33 +0800
committerchai <chaifix@163.com>2019-01-12 21:48:33 +0800
commit8b00d67febf133e89f6a0bfabc41feed555dc4a9 (patch)
treefe48ef17c250afa40c2588300fcdb5920dba6951 /src/libjin/time/je_timer.h
parenta907c39756ef6b368d06643afa491c49a9044a8e (diff)
*去掉文件前缀je_
Diffstat (limited to 'src/libjin/time/je_timer.h')
-rw-r--r--src/libjin/time/je_timer.h158
1 files changed, 0 insertions, 158 deletions
diff --git a/src/libjin/time/je_timer.h b/src/libjin/time/je_timer.h
deleted file mode 100644
index 95c1925..0000000
--- a/src/libjin/time/je_timer.h
+++ /dev/null
@@ -1,158 +0,0 @@
-#ifndef __JE_TIMER_H__
-#define __JE_TIMER_H__
-#include "../core/je_configuration.h"
-#if defined(jin_time)
-
-#include <vector>
-#include <functional>
-
-#include "SDL2/SDL.h"
-
-#include "../common/je_object.h"
-
-namespace JinEngine
-{
- namespace Time
- {
-
- ///
- ///
- ///
- class Timer : public Object
- {
- public:
-
- typedef std::function<void(void*)> TimerCallback;
-
- typedef std::function<void(void*)> FinishCallback;
-
- ///
- ///
- ///
- class Handler : public Object
- {
- public:
- friend class Timer;
- enum Type
- {
- EVERY,
- AFTER,
- REPEAT,
- };
- Handler(Type type, float duration, int count = 0, TimerCallback callback = nullptr, void* paramters = nullptr, FinishCallback finishcallback = nullptr);
- virtual ~Handler();
- void process(float dt);
-
- protected:
- int count;
- int countdown;
- float duration;
- float tickdown;
- Type type;
- TimerCallback callback;
- FinishCallback finishCallback;
- void* paramters;
- bool canceled;
- };
-
- ///
- ///
- ///
- Timer();
-
- ///
- ///
- ///
- ~Timer();
-
- ///
- ///
- ///
- void update(float dt);
-
- ///
- ///
- ///
- Handler* every(float dt, TimerCallback callback, void* paramters = nullptr, FinishCallback finish = nullptr);
-
- ///
- ///
- ///
- Handler* after(float dt, TimerCallback callback, void* paramters, FinishCallback finish);
-
- ///
- ///
- ///
- Handler* repeat(float dt, int count, TimerCallback callback, void* paramters, FinishCallback finish);
-
- ///
- ///
- ///
- void cancel(Handler* handler);
-
- ///
- ///
- ///
- void cancelAll();
-
- private:
-
- std::vector<Handler*> mHandlers;
-
- };
-
- ///
- ///
- ///
- inline void sleep(int ms)
- {
- #if jin_time == jin_time_sdl
- SDL_Delay(ms);
- #endif
- }
-
- ///
- ///
- ///
- inline double getSecond()
- {
- #if jin_time == jin_time_sdl
- return SDL_GetTicks() / 1000.f;
- #endif
- }
-
- ///
- ///
- ///
- inline double getMilliSecond()
- {
- #if jin_time == jin_time_sdl
- return SDL_GetTicks();
- #endif
- }
-
- ///
- /// Delta time between frames.
- ///
- extern float deltaTime;
-
- inline void step()
- {
- static float previous = 0;
- static float current = getSecond();
- previous = current;
- current = getSecond();
- deltaTime = current - previous;
- }
-
- inline float getDeltaTime()
- {
- return deltaTime;
- }
-
- } // namespace Time
-} // namespace JinEngine
-
-#endif // defined(jin_time)
-
-#endif // __JE_TIMER_H__ \ No newline at end of file