Files
Upsilon/escher/src/timer.cpp
Émilie Feral c644a8d4f7 [escher] Fix bug: do not redraw window at each timer fire but only for
timer requiring redraw

Change-Id: Ia39a35185a4836809970f5ba77cc76a8b2e6ee26
2017-05-23 15:25:00 +02:00

22 lines
365 B
C++

#include <escher/timer.h>
Timer::Timer(uint32_t period) :
m_period(period),
m_numberOfTicksBeforeFire(period)
{
}
bool Timer::tick() {
m_numberOfTicksBeforeFire--;
if (m_numberOfTicksBeforeFire == 0) {
bool needRedraw = fire();
reset();
return needRedraw;
}
return false;
}
void Timer::reset() {
m_numberOfTicksBeforeFire = m_period;
}