26 lines
458 B
C++
26 lines
458 B
C++
// timer.hpp
|
|
|
|
#pragma once
|
|
|
|
#include <SDL3/SDL.h>
|
|
|
|
#include <algorithm>
|
|
|
|
class Timer {
|
|
public:
|
|
void start() {
|
|
last_ticks_ms_ = SDL_GetTicks();
|
|
}
|
|
|
|
auto getDelta() -> int {
|
|
const Uint64 NOW_MS = SDL_GetTicks();
|
|
int delta_ms = static_cast<int>(NOW_MS - last_ticks_ms_);
|
|
delta_ms = std::max(delta_ms, 0);
|
|
last_ticks_ms_ = NOW_MS;
|
|
return delta_ms;
|
|
}
|
|
|
|
private:
|
|
Uint64 last_ticks_ms_{0};
|
|
};
|