29 #include YFM_YSLib_Service_YTimer
40 bool NotInitialized(
true);
65 const auto end(GetTickPoint() + ms);
67 while(GetTickPoint() < end)
73 : nBase(), Interval(i)
98 const auto delta(tick -
nBase);
113 nBase = tick - remainder;
120 if(tmr.
Interval != Duration::zero())
YF_API void StartTicks()
开始 tick 计时。
TimePoint nBase
时间基点:计时的起点。
void Refresh(PaintEventArgs &&) override
刷新:按指定参数绘制界面并更新状态。
Duration RefreshDelta()
刷新:对于非零时间间隔判断有效性并都更新时间基点。
static time_point now() ynothrow
virtual nBase YF_API friend void Activate(Timer &)
激活:当时间间隔非零时同步时间基点。
Duration RefreshRemainder()
刷新:对于非零时间间隔判断有效性并都更新时间基点。
Duration Interval
重复刷新有效的最小时间间隔。
#define YB_UNLIKELY(expr)
分支预测提示。
YF_API void Delay(const TimeSpan &)
阻塞延时。
Timer(const Duration &={}, bool=true)
构造:使用时间间隔和激活状态。
YF_API std::uint32_t GetTicks()
取 tick 数。
HighResolutionClock::time_point TimePoint
时刻。
HighResolutionClock::duration Duration
高精度时间间隔。
std::chrono::milliseconds TimeSpan
低精度时间间隔。
#define YAssert(_expr, _msg)
void Activate(Timer &tmr)