Files
NXKit/UIKitCore/lib/CADisplayLink.cpp
T
2025-02-24 23:03:13 +01:00

23 lines
556 B
C++

#include <CADisplayLink.h>
#include <utility>
#include <algorithm>
namespace NXKit {
std::vector<CADisplayLink*> CADisplayLink::activeLinks;
CADisplayLink::CADisplayLink(std::function<void()> func): func(std::move(func)) {
activeLinks.push_back(this);
}
CADisplayLink::~CADisplayLink() {
invalidate();
}
void CADisplayLink::invalidate() {
if (!isRunning) return;
isRunning = false;
activeLinks.erase(std::remove(activeLinks.begin(), activeLinks.end(), this), activeLinks.end());
}
}