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
qquickscreencapture.cpp
Go to the documentation of this file.
1
// Copyright (C) 2022 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
4
#
include
"qquickscreencapture_p.h"
5
6
QT_BEGIN_NAMESPACE
7
8
QQuickScreenCapture::QQuickScreenCapture(QObject *parent) : QScreenCapture(parent)
9
{
10
connect(
this
, &QScreenCapture::screenChanged,
this
, [
this
] {
11
emit qmlScreenChanged(ensureQmlScreen());
12
});
13
}
14
15
void
QQuickScreenCapture::qmlSetScreen(QQuickScreenInfo *qmlScreen)
16
{
17
setScreen(qmlScreen ? qmlScreen->wrappedScreen() :
nullptr
);
18
}
19
20
QQuickScreenInfo *QQuickScreenCapture::ensureQmlScreen()
21
{
22
// Note QQuickApplication may recreate QQuickScreenInfo
23
// so we implement creating our own instance.
24
// TODO: perhaps, we should return null QQuickScreenInfo for null QScreen
25
if
(!m_qmlScreen || m_qmlScreen->wrappedScreen() != screen()) {
26
m_ownQmlScreen = std::make_unique<QQuickScreenInfo>(
this
, screen());
27
m_qmlScreen = m_ownQmlScreen.get();
28
}
29
30
return
m_qmlScreen;
31
}
32
33
/*!
34
\since 6.12
35
\qmlproperty real QtMultimedia::ScreenCapture::frameRate
36
37
The target screen capture framerate.
38
39
Actual frame rate depends on the platform. For platforms with fixed rate capture, this
40
frame rate is followed. For platforms with variable rate capture, this frame rate is either
41
used as the polling rate (maximum frame rate) or completely ignored.
42
43
If -1, a platform-dependent default is used.
44
*/
45
46
void
QQuickScreenCapture::qmlSetFrameRate(qreal frameRate)
47
{
48
if
(qFuzzyCompare(frameRate,
static_cast
<qreal>(-1.f)))
49
setFrameRate(std::nullopt);
50
else
if
(frameRate > 0.f)
51
setFrameRate(frameRate);
52
}
53
54
qreal QQuickScreenCapture::qmlFrameRate()
const
55
{
56
return
frameRate().value_or(-1.f);
57
}
58
59
QT_END_NAMESPACE
60
61
#
include
"moc_qquickscreencapture_p.cpp"
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtmultimedia
src
multimediaquick
qquickscreencapture.cpp
Generated on
for Qt by
1.16.1