#pragma once #include #include #include class LottieIcon; class AnimTimer : public QObject { Q_OBJECT public: static AnimTimer *instance(); void registerIcon(const QString &key, LottieIcon *icon); void unregisterIcon(const QString &key); LottieIcon *icon(const QString &key) const; void activate(); void deactivate(); signals: void ticked(); private slots: void onTimer(); private: AnimTimer(); QTimer m_timer; QHash m_icons; int m_activeRef = 0; };