CrossFramework Library
|
00001 00006 #if defined(XBASE_INCLUDED_FRAMECOUNTER_HPP) 00007 #else 00008 #define XBASE_INCLUDED_FRAMECOUNTER_HPP 00009 00010 //------------------------------------------------------------ 00011 #include <XBase/BuiltInTypes.hpp> 00012 00013 //------------------------------------------------------------ 00014 namespace XBase { 00016 00017 00018 class FrameCounter 00019 { 00020 public: 00022 00023 FrameCounter(); 00024 FrameCounter( uint aTotalFrame ); 00025 00026 00028 00029 void reset(); 00030 void reset( uint aTotalFrame ); 00031 00032 00034 00035 00039 void advance(); 00040 00045 void advanceStrict(); 00046 00050 void toEnd(); 00052 00054 00055 uint frame()const; 00056 uint totalFrame()const; 00057 bool isEnd()const; 00058 bool isCounting()const; 00059 float rateFrame()const; 00060 float invRateFrame()const; 00061 00062 00063 private: 00064 uint mFrame; 00065 uint mTotalFrame; 00066 }; 00068 } 00069 //------------------------------------------------------------ 00070 #endif 00071 // EOF