Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qmovie.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QMOVIE_H
6#define QMOVIE_H
7
8#include <QtGui/qtguiglobal.h>
9
10#include <QtCore/qobject.h>
11#include <QtCore/qbytearray.h>
12#include <QtCore/qlist.h>
13#include <QtGui/qimagereader.h>
14
16
17QT_BEGIN_NAMESPACE
18
19class QByteArray;
20class QColor;
21class QIODevice;
22class QImage;
23class QPixmap;
24class QRect;
25class QSize;
26
27class QMoviePrivate;
28class Q_GUI_EXPORT QMovie : public QObject
29{
30 Q_OBJECT
31 Q_DECLARE_PRIVATE(QMovie)
32 Q_PROPERTY(int speed READ speed WRITE setSpeed BINDABLE bindableSpeed)
33 Q_PROPERTY(CacheMode cacheMode READ cacheMode WRITE setCacheMode BINDABLE bindableCacheMode)
34public:
35 enum MovieState {
36 NotRunning,
37 Paused,
38 Running
39 };
40 Q_ENUM(MovieState)
41 enum CacheMode {
42 CacheNone,
43 CacheAll
44 };
45 Q_ENUM(CacheMode)
46
47 explicit QMovie(QObject *parent = nullptr);
48 explicit QMovie(QIODevice *device, const QByteArray &format = QByteArray(), QObject *parent = nullptr);
49 explicit QMovie(const QString &fileName, const QByteArray &format = QByteArray(), QObject *parent = nullptr);
50 ~QMovie();
51
52 static QList<QByteArray> supportedFormats();
53
54 void setDevice(QIODevice *device);
55 QIODevice *device() const;
56
57 void setFileName(const QString &fileName);
58 QString fileName() const;
59
60 void setFormat(const QByteArray &format);
61 QByteArray format() const;
62
63 void setBackgroundColor(const QColor &color);
64 QColor backgroundColor() const;
65
66 MovieState state() const;
67
68 QRect frameRect() const;
69 QImage currentImage() const;
70 QPixmap currentPixmap() const;
71
72 bool isValid() const;
73 QImageReader::ImageReaderError lastError() const;
74 QString lastErrorString() const;
75
76 bool jumpToFrame(int frameNumber);
77 int loopCount() const;
78 int frameCount() const;
79 int nextFrameDelay() const;
80 int currentFrameNumber() const;
81
82 int speed() const;
83 QBindable<int> bindableSpeed();
84
85 QSize scaledSize();
86 void setScaledSize(const QSize &size);
87
88 CacheMode cacheMode() const;
89 void setCacheMode(CacheMode mode);
90 QBindable<CacheMode> bindableCacheMode();
91
92Q_SIGNALS:
93 void started();
94 void resized(const QSize &size);
95 void updated(const QRect &rect);
96 void stateChanged(QMovie::MovieState state);
97 void error(QImageReader::ImageReaderError error);
98 void finished();
99 void frameChanged(int frameNumber);
100
101public Q_SLOTS:
102 void start();
103 bool jumpToNextFrame();
104 void setPaused(bool paused);
105 void stop();
106 void setSpeed(int percentSpeed);
107
108private:
109 Q_DISABLE_COPY(QMovie)
110 Q_PRIVATE_SLOT(d_func(), void _q_loadNextFrame())
111};
112
113QT_END_NAMESPACE
114
115#endif // QMOVIE_H
\inmodule QtCore
int speedAdjustedDelay(int delay) const
Definition qmovie.cpp:293
std::map< int, QFrameInfo > frameMap
Definition qmovie.cpp:239
QString absoluteFilePath
Definition qmovie.cpp:240
void _q_loadNextFrame()
Definition qmovie.cpp:481
QPixmap currentPixmap
Definition qmovie.cpp:228
bool isDone()
Definition qmovie.cpp:280
std::unique_ptr< QImageReader > reader
Definition qmovie.cpp:221
int nextFrameNumber
Definition qmovie.cpp:230
Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(QMoviePrivate, QMovie::CacheMode, cacheMode, QMovie::CacheNone) bool haveReadAll
QFrameInfo infoForFrame(int frameNumber)
Definition qmovie.cpp:310
qint64 initialDevicePos
Definition qmovie.cpp:234
void enterState(QMovie::MovieState newState)
Definition qmovie.cpp:212
void setSpeed(int percentSpeed)
Definition qmovie.cpp:223
int currentFrameNumber
Definition qmovie.cpp:229
bool isValid() const
Definition qmovie.cpp:525
void reset()
Definition qmovie.cpp:263
QRect frameRect
Definition qmovie.cpp:227
QTimer * nextImageTimer
Definition qmovie.cpp:242
bool jumpToFrame(int frameNumber)
Definition qmovie.cpp:546
void init(QMovie *qq, std::unique_ptr< QImageReader > r)
Definition qmovie.cpp:251
void _q_loadNextFrame(bool starting)
Definition qmovie.cpp:486
bool jumpToNextFrame()
Definition qmovie.cpp:575
bool next()
Definition qmovie.cpp:434
int frameCount() const
Definition qmovie.cpp:562
int greatestFrameNumber
Definition qmovie.cpp:231
bool isFirstIteration
Definition qmovie.cpp:238
\inmodule QtGui
Definition qmovie.h:29
#define qCDebug(category,...)
Q_DECLARE_TYPEINFO(QFrameInfo, Q_RELOCATABLE_TYPE)
#define QMOVIE_INVALID_DELAY
Definition qmovie.cpp:158
QT_REQUIRE_CONFIG(movie)