9#include <QtCore/qdatetime.h>
10#include <QtGui/qimage.h>
11#include <QtMultimedia/qmediametadata.h>
19 return m_session && m_session->isReadyForCapture();
25 emit error(-1, QImageCapture::ResourceError, msgImageCaptureNotSet());
28 return m_session->capture(fileName,
false);
34 emit error(-1, QImageCapture::ResourceError, msgImageCaptureNotSet());
37 return m_session->capture(QString(),
true);
43 return m_session->imageSettings();
44 return m_pendingSettings;
49 m_pendingSettings = settings;
51 m_session->setImageSettings(settings);
57 QOhosCameraSession *newCameraSession = ohosSession ? ohosSession->cameraSession() :
nullptr;
58 if (m_service == ohosSession && m_session == newCameraSession)
61 disconnectFromSession();
62 m_service = ohosSession;
63 m_session = newCameraSession;
65 m_session->setImageSettings(m_pendingSettings);
67 notifyReadyForCaptureChanged(m_session->isReadyForCapture());
69 notifyReadyForCaptureChanged(
false);
75 if (m_lastReady == ready)
78 emit readyForCaptureChanged(ready);
88 connect(m_session, &QOhosCameraSession::imageCaptured,
this,
89 &QOhosImageCapture::onSessionImageCaptured);
90 connect(m_session, &QOhosCameraSession::imageAvailable,
this,
91 &QOhosImageCapture::imageAvailable);
92 connect(m_session, &QOhosCameraSession::imageSaved,
this, &QOhosImageCapture::imageSaved);
93 connect(m_session, &QOhosCameraSession::imageCaptureError,
this, &QOhosImageCapture::error);
98 emit imageCaptured(id, preview);
100 QMediaMetaData md = metaData();
101 md.insert(QMediaMetaData::Date, QDateTime::currentDateTime());
102 if (!preview.isNull())
103 md.insert(QMediaMetaData::Resolution, preview.size());
104 emit imageMetadataAvailable(id, md);
110 disconnect(m_session,
nullptr,
this,
nullptr);
115#include "moc_qohosimagecapture_p.cpp"
void imageExposed(int id)
void readyForCaptureChanged(bool ready)
int capture(const QString &fileName) override
bool isReadyForCapture() const override
void setCaptureSession(QPlatformMediaCaptureSession *session)
void setImageSettings(const QImageEncoderSettings &settings) override
QImageEncoderSettings imageSettings() const override
int captureToBuffer() override
Combined button and popup list for selecting options.