Files
@ r28679:893e49b03fe5
Branch filter:
Location: cpp/openttd-patchpack/source/src/timer/timer_window.cpp - annotation
r28679:893e49b03fe5
1.8 KiB
text/x-c
Change: Update OpenTTD TTF fonts to v0.5 (#11994)
Corrects line height in Windows to the exact intended pixel values, along with change of OpenTTD Sans to use tabular lining numerals and minor bugfixes.
Corrects line height in Windows to the exact intended pixel values, along with change of OpenTTD Sans to use tabular lining numerals and minor bugfixes.
r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27984:4d71f61bffdb r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27984:4d71f61bffdb r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r28561:d3b2600c3b1b r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r27088:7e2816121458 r28561:d3b2600c3b1b r28561:d3b2600c3b1b r27088:7e2816121458 r27091:9e41ca246188 r27091:9e41ca246188 r27091:9e41ca246188 r27942:f7389062d120 r27091:9e41ca246188 r27091:9e41ca246188 r27091:9e41ca246188 | /*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @file timer_window.cpp
* This file implements the timer logic for the Window system.
*/
#include "../stdafx.h"
#include "timer.h"
#include "timer_window.h"
#include "../safeguards.h"
template<>
void IntervalTimer<TimerWindow>::Elapsed(TimerWindow::TElapsed delta)
{
if (this->period == std::chrono::milliseconds::zero()) return;
this->storage.elapsed += delta;
uint count = 0;
while (this->storage.elapsed >= this->period) {
this->storage.elapsed -= this->period;
count++;
}
if (count > 0) {
this->callback(count);
}
}
template<>
void TimeoutTimer<TimerWindow>::Elapsed(TimerWindow::TElapsed delta)
{
if (this->fired) return;
if (this->period == std::chrono::milliseconds::zero()) return;
this->storage.elapsed += delta;
if (this->storage.elapsed >= this->period) {
this->callback();
this->fired = true;
}
}
template<>
bool TimerManager<TimerWindow>::Elapsed(TimerWindow::TElapsed delta)
{
/* Make a temporary copy of the timers, as a timer's callback might add/remove other timers. */
auto timers = TimerManager<TimerWindow>::GetTimers();
for (auto timer : timers) {
timer->Elapsed(delta);
}
return true;
}
#ifdef WITH_ASSERT
template<>
void TimerManager<TimerWindow>::Validate(TimerWindow::TPeriod)
{
}
#endif /* WITH_ASSERT */
|