/*!
 	@file
 	@brief	FPS を管理するタイマー
*/

#ifndef CFPSTimer_h
#define CFPSTimer_h


#include"../Setup/CompileMode.h"
#include"../Auxiliary/CTimer.h"
#include"Macro.h"

namespace Maid
{
	class CFPSTimer
	{
	public:
		CFPSTimer();
		~CFPSTimer();

		void Initialize( const SPTIMER& pTimer );

		void Reset();
		bool IsTimerOver() const;

		void Sleep();

		void SetFPS( unt fps );

	private:
		SPTIMER	m_pTimer;

		unt	m_BeginTime;		//!<	１フレーム目の開始時間
		unt	m_TimeOverCount;	//!<	予定時刻を連続で過ぎている回数
		unt	m_NowFrame;			//!<	現在のフレーム数

		unt	m_FPS;				//!<	維持するＦＰＳ
	};


}


#endif
