Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCanvasAnimationState.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2015 Jouni Pentikäinen <joupent@gmail.com>
3 * SPDX-FileCopyrightText: 2021 Eoin O'Neill <eoinoneill1991@gmail.com>
4 * SPDX-FileCopyrightText: 2021 Emmet O'Neill <emmetoneill.pdx@gmail.com>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
9#ifndef KIS_ANIMATION_PLAYER_H
10#define KIS_ANIMATION_PLAYER_H
11
12#include <QScopedPointer>
13#include <QObject>
14#include <QFileInfo>
15
16#include <kis_time_span.h>
17#include <boost/optional.hpp>
18
19#include "kritaui_export.h"
20
21
22class KisCanvas2;
23
24enum PlaybackState : unsigned int {
28};
29
38class KRITAUI_EXPORT KisCanvasAnimationState : public QObject
39{
40 Q_OBJECT
41
42public:
44 ~KisCanvasAnimationState() override;
45
51 void setPlaybackState(PlaybackState state);
52 PlaybackState playbackState();
53
57 boost::optional<QFileInfo> mediaInfo();
58 qreal currentVolume();
59
63 boost::optional<int> playbackOrigin();
64
65 class KisFrameDisplayProxy *displayProxy();
66
67 void setPlaybackSpeed(qreal value);
68 qreal playbackSpeed() const;
69
74 void setupAudioTracks();
75
76public Q_SLOTS:
77 void showFrame(int frame, bool finalize = false);
78
79Q_SIGNALS:
86
88
89private:
90 KisTimeSpan activePlaybackRange();
91
92 struct Private;
93 QScopedPointer<Private> m_d;
94};
95
96#endif
float value(const T *src, size_t ch)
The KisCanvasAnimationState class stores all of the canvas-specific animation state.
void sigAudioLevelChanged(qreal value)
void sigPlaybackStateChanged(PlaybackState state)
QScopedPointer< Private > m_d
void sigPlaybackSpeedChanged(qreal value)
The KisFrameDisplayProxy class sits between the KisCanvas (within its KisCanvasAnimationState) and it...