summaryrefslogtreecommitdiffstats
path: root/src/multimedia/doc/src/examples/video-qml-paint-rate.qdocinc
blob: f531e613abb3f8d068382c735185cd27579c5610 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
The QML painting rate is calculated by the FrequencyMonitor class, which
turns a stream of events (received via the notify() slot), into an
instantaneous and an averaged frequency:

\quotefromfile multimedia/video/qmlvideo/frequencymonitor.h
\skipto class FrequencyMonitor : public QObject
\printuntil Q_OBJECT
\skipto Q_PROPERTY(qreal instantaneousFrequency
\printuntil averageFrequencyChanged)
\skipto public
\printuntil :
\dots
\skipto static void qmlRegisterType
\printuntil ;
\skipto public slots
\printuntil notify();
\skipto };
\printline };

The FrequencyMonitor class is exposed to QML like this

\quotefromfile multimedia/video/qmlvideo/frequencymonitordeclarative.cpp
\skipto FrequencyMonitor::qmlRegisterType
\printuntil }

and its data is displayed by defining a QML item called FrequencyItem, like this:

\quotefromfile multimedia/video/qmlvideo/qml/frequencymonitor/FrequencyItem.qml
\skipto import FrequencyMonitor
\printuntil id: root
\dots
\skipto function notify
\printuntil id: monitor
\skipto onAverageFrequencyChanged
\printuntil {
\skipto averageFrequencyText
\printuntil /^\}/

The result looks like this:

\image video-qml-paint-rate.png