]> git.localhorst.tv Git - blank.git/blobdiff - src/app/IntervalTimer.hpp
the sound thing
[blank.git] / src / app / IntervalTimer.hpp
index 0d6790be20850ebfb9276fc62f88b09408793917..06caa5e21b9bb5c805a1f2e73d68d89c855f8996 100644 (file)
@@ -13,7 +13,7 @@ class IntervalTimer {
 public:
        /// Create a timer that hits every interval_ms milliseconds.
        /// Initial state is stopped.
-       explicit IntervalTimer(int interval_ms) noexcept
+       explicit IntervalTimer(int interval_ms = 0) noexcept
        : intv(interval_ms) { }
 
        void Start() noexcept {
@@ -23,6 +23,9 @@ public:
                value = 0;
                speed = 0;
        }
+       void Reset() noexcept {
+               value = 0;
+       }
 
        bool Running() const noexcept {
                return speed != 0;
@@ -31,6 +34,9 @@ public:
        bool Hit() const noexcept {
                return Running() && value % intv < last_dt;
        }
+       bool HitOnce() const noexcept {
+               return Running() && value >= intv;
+       }
        int Elapsed() const noexcept {
                return value;
        }