1// Copyright (C) 2021 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#ifndef QQUICKIMAGECAPTURE_H
5#define QQUICKIMAGECAPTURE_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists for the convenience
12// of other Qt classes. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <qcamera.h>
19#include <qimagecapture.h>
20#include <qmediametadata.h>
21
22#include <QtQml/qqml.h>
23#include <QtCore/private/qglobal_p.h>
24
25QT_BEGIN_NAMESPACE
26
27class QUrl;
28
29class QQuickImageCapture : public QImageCapture
30{
31 Q_OBJECT
32 Q_PROPERTY(QString preview READ preview NOTIFY previewChanged)
33 QML_NAMED_ELEMENT(ImageCapture)
34
35public:
36 QQuickImageCapture(QObject *parent = nullptr);
37 ~QQuickImageCapture();
38
39 QString preview() const;
40
41public Q_SLOTS:
42 void saveToFile(const QUrl &location) const;
43
44Q_SIGNALS:
45 void previewChanged();
46
47private Q_SLOTS:
48 void _q_imageCaptured(int, const QImage&);
49
50private:
51 QImage m_lastImage;
52 QString m_capturedImagePath;
53};
54
55QT_END_NAMESPACE
56
57#endif
58

source code of qtmultimedia/src/multimediaquick/qquickimagecapture_p.h