File indexing completed on 2024-06-16 04:16:03
0001 /* 0002 * SPDX-FileCopyrightText: 2023 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KISANIMATIONPLAYBACKCONTROLSMODEL_H 0008 #define KISANIMATIONPLAYBACKCONTROLSMODEL_H 0009 0010 #include <QObject> 0011 0012 #include <lager/state.hpp> 0013 #include <lager/extra/qt.hpp> 0014 0015 class KisPlaybackEngine; 0016 class KisCanvasAnimationState; 0017 0018 class KisAnimationPlaybackControlsModel : public QObject 0019 { 0020 Q_OBJECT 0021 public: 0022 KisAnimationPlaybackControlsModel(); 0023 0024 void connectAnimationState(KisCanvasAnimationState *state); 0025 void connectPlaybackEngine(KisPlaybackEngine *engine); 0026 0027 private: 0028 lager::state<bool, lager::automatic_tag> m_dropFramesMode; 0029 lager::state<qreal, lager::automatic_tag> m_playbackSpeed; 0030 0031 public: 0032 LAGER_QT_CURSOR(bool, dropFramesMode); 0033 LAGER_QT_CURSOR(qreal, playbackSpeed); 0034 LAGER_QT_CURSOR(int, playbackSpeedDenorm); 0035 }; 0036 0037 #endif // KISANIMATIONPLAYBACKCONTROLSMODEL_H