23 Q_PROPERTY(
bool active READ isActive WRITE setActive NOTIFY activeChanged)
24 Q_PROPERTY(QScreen *screen READ screen WRITE setScreen NOTIFY screenChanged)
25 Q_PROPERTY(Error error READ error NOTIFY errorChanged)
26 Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged)
27 Q_PROPERTY(std::optional<qreal> frameRate READ frameRate WRITE setFrameRate RESET resetFrameRate NOTIFY frameRateChanged)
33 CapturingNotSupported = 2,
39 explicit QScreenCapture(QObject *parent =
nullptr);
40 ~QScreenCapture() override;
42 QMediaCaptureSession *captureSession()
const;
44 void setScreen(QScreen *screen);
45 QScreen *screen()
const;
47 bool isActive()
const;
50 QString errorString()
const;
52 void setFrameRate(std::optional<qreal> preferredFrameRate);
53 std::optional<qreal> frameRate()
const;
54 void resetFrameRate();
57 void setActive(
bool active);
58 void start() { setActive(
true); }
59 void stop() { setActive(
false); }
62 void activeChanged(
bool);
64 void screenChanged(QScreen *);
65 void errorOccurred(QScreenCapture::Error error,
const QString &errorString);
66 void frameRateChanged();
69 void setCaptureSession(QMediaCaptureSession *captureSession);
70 QPlatformSurfaceCapture *platformScreenCapture()
const;
71 friend class QMediaCaptureSession;
72 Q_DISABLE_COPY(QScreenCapture)
73 Q_DECLARE_PRIVATE(QScreenCapture)