summaryrefslogtreecommitdiffstats
path: root/src/plugins/winrt/qwinrtcameracontrol.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/winrt/qwinrtcameracontrol.h')
-rw-r--r--src/plugins/winrt/qwinrtcameracontrol.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/winrt/qwinrtcameracontrol.h b/src/plugins/winrt/qwinrtcameracontrol.h
index 307667eb1..b3c86adf9 100644
--- a/src/plugins/winrt/qwinrtcameracontrol.h
+++ b/src/plugins/winrt/qwinrtcameracontrol.h
@@ -61,6 +61,8 @@ class QVideoRendererControl;
class QVideoDeviceSelectorControl;
class QCameraImageCaptureControl;
class QImageEncoderControl;
+class QCameraFocusControl;
+class QCameraLocksControl;
class QWinRTCameraControlPrivate;
class QWinRTCameraControl : public QCameraControl
@@ -85,15 +87,29 @@ public:
QVideoDeviceSelectorControl *videoDeviceSelector() const;
QCameraImageCaptureControl *imageCaptureControl() const;
QImageEncoderControl *imageEncoderControl() const;
+ QCameraFocusControl *cameraFocusControl() const;
+ QCameraLocksControl *cameraLocksControl() const;
ABI::Windows::Media::Capture::IMediaCapture *handle() const;
+ bool setFocus(QCameraFocus::FocusModes mode);
+ bool setFocusPoint(const QPointF &point);
+ bool focus();
+ void clearFocusPoint();
+ void emitError(int errorCode, const QString &errorString);
+ bool lockFocus();
+ bool unlockFocus();
+ void frameMapped();
+ void frameUnmapped();
+
private slots:
void onBufferRequested();
+ void onApplicationStateChanged(Qt::ApplicationState state);
private:
HRESULT enumerateDevices();
HRESULT initialize();
+ HRESULT initializeFocus();
HRESULT onCaptureFailed(ABI::Windows::Media::Capture::IMediaCapture *,
ABI::Windows::Media::Capture::IMediaCaptureFailedEventArgs *);
HRESULT onRecordLimitationExceeded(ABI::Windows::Media::Capture::IMediaCapture *);