»õ ÆÄÀÏ |
| | |
| | | #pragma once |
| | | |
| | | #include "akCoreLinker.h" |
| | | #include <Windows.h> |
| | | |
| | | |
| | | namespace akCore |
| | | { |
| | | class AKCORE_DLLSPEC CakTimeManager |
| | | { |
| | | public: |
| | | enum PlayMode |
| | | { |
| | | Play, |
| | | Stop, |
| | | Pause, |
| | | Playing, |
| | | PlayEnd, |
| | | SettingTime |
| | | }; |
| | | public: |
| | | CakTimeManager(void); |
| | | virtual ~CakTimeManager(void); |
| | | |
| | | //ìì ì¤ì§(구ë²ì ) //ë°°ì ì ì© ìë°ì |
| | | inline void SetBegin(); |
| | | inline void SetEnd(); |
| | | inline double GetRunTimeSec(); //ìììê° ì ì¥íê³ ì¢
ë£ìê°ê¹ì§ì íì(ì´ë¨ì) |
| | | inline double GetRunTimeMsec(); //ìììê° ì ì¥íê³ ì¢
ë£ìê°ê¹ì§ì íì(ì´ë¨ì) |
| | | inline double GetFrameRate(); |
| | | |
| | | //íë ì´ë° 기ë¥(ì ë²ì ) |
| | | void SetInit();//ì´ê¸° ì¤ì ì¼ë¡ ëë림 |
| | | virtual inline void SetPlay(); |
| | | virtual inline void SetStop(); |
| | | virtual inline void SetTime(int msec); |
| | | virtual inline void SetPause(); |
| | | |
| | | |
| | | virtual inline double GetTime(int type=0); //0=Sec, 1=MSec |
| | | virtual inline void GetTime(int* h, int* m, int* s, int* ms); |
| | | virtual inline PlayMode GetPlayMode(); |
| | | virtual inline void SetSpeedRate(double speedrate); //ë°°ì ì¤ì (0ë³´ë¤ í° ì¤ì ì
ë ¥ê°ë¥) |
| | | virtual inline double GetSpeedRate(); //ë°°ì ì¤ì ê° ì½ê¸° |
| | | |
| | | protected: |
| | | LARGE_INTEGER m_Frequency; |
| | | LARGE_INTEGER m_BeginTime; |
| | | LARGE_INTEGER m_Endtime; |
| | | |
| | | double m_PauseTime; |
| | | double m_LastTime; |
| | | PlayMode m_PlayState; |
| | | double m_SpeedRate; //ë°°ì |
| | | |
| | | //ì½ë°± ë°ì´í° ê´ë¦¬ |
| | | public: |
| | | typedef void (*MsgCallbackFunc) (int msg, void*); |
| | | void setMsgCallbackFunc(MsgCallbackFunc userFunc, void* data = NULL) |
| | | { |
| | | m_msgCallbackFunc = userFunc; |
| | | m_MsgCallbackFuncData = data; |
| | | }; |
| | | protected: |
| | | void* m_MsgCallbackFuncData; |
| | | MsgCallbackFunc m_msgCallbackFunc; |
| | | int m_nSyncObject; |
| | | }; |
| | | |
| | | class AKCORE_DLLSPEC CakTimeManagerAdv : public CakTimeManager |
| | | { |
| | | public: |
| | | CakTimeManagerAdv(void); |
| | | virtual ~CakTimeManagerAdv(void); |
| | | |
| | | public: |
| | | virtual inline void SetPlay(); |
| | | virtual inline void SetTime(int msec); |
| | | virtual inline void SetStop(); |
| | | protected: |
| | | void setEnd();//íë ì´ ìê°ì´ ìµë ìê°ì ëìì ê²½ì° í¸ì¶ |
| | | public: |
| | | double m_timeMax; |
| | | |
| | | public: |
| | | static void threadPlayer(void* arg); |
| | | int m_flagThreadPlayer; |
| | | |
| | | private: |
| | | bool m_bPlaying; |
| | | |
| | | }; |
| | | } |