summaryrefslogtreecommitdiffstats
path: root/src/plugins/winrt/qwinrtcameraservice.cpp
diff options
context:
space:
mode:
authorPeng Wu <peng.wu@intopalo.com>2015-08-06 16:33:39 +0300
committerAndrew Knight <andrew.knight@intopalo.com>2015-08-10 12:12:49 +0000
commit5cec451c10e73785c95fb236cbae7205a9a661d0 (patch)
treed1a9abd7c6a1eb8dc4345fa565d10a5777509721 /src/plugins/winrt/qwinrtcameraservice.cpp
parentef3695a009c7cb5cfda2bbe4f2e0480b0334a631 (diff)
winrt: Add camera focus and focus lock controls
[ChangLog][multimedia][winrt] The winrt backend now supports camera focus and focus lock for Windows Phone. Task-Id: QTBUG-46120 Change-Id: Idb222798284d887a6e90a4986c69274e0ef765f5 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Diffstat (limited to 'src/plugins/winrt/qwinrtcameraservice.cpp')
-rw-r--r--src/plugins/winrt/qwinrtcameraservice.cpp42
1 files changed, 22 insertions, 20 deletions
diff --git a/src/plugins/winrt/qwinrtcameraservice.cpp b/src/plugins/winrt/qwinrtcameraservice.cpp
index be67b4742..a4d292242 100644
--- a/src/plugins/winrt/qwinrtcameraservice.cpp
+++ b/src/plugins/winrt/qwinrtcameraservice.cpp
@@ -45,6 +45,8 @@
#include <QtMultimedia/QVideoRendererControl>
#include <QtMultimedia/QVideoDeviceSelectorControl>
#include <QtMultimedia/QImageEncoderControl>
+#include <QtMultimedia/QCameraFocusControl>
+#include <QtMultimedia/QCameraLocksControl>
QT_BEGIN_NAMESPACE
@@ -69,34 +71,34 @@ QMediaControl *QWinRTCameraService::requestControl(const char *name)
d->cameraControl = new QWinRTCameraControl(this);
return d->cameraControl;
}
-
- if (qstrcmp(name, QVideoRendererControl_iid) == 0) {
- if (d->cameraControl)
- return d->cameraControl->videoRenderer();
- }
-
- if (qstrcmp(name, QVideoDeviceSelectorControl_iid) == 0) {
- if (d->cameraControl)
- return d->cameraControl->videoDeviceSelector();
- }
-
if (qstrcmp(name, QCameraInfoControl_iid) == 0) {
if (!d->cameraInfoControl)
d->cameraInfoControl = new QWinRTCameraInfoControl(this);
return d->cameraInfoControl;
}
- if (qstrcmp(name, QCameraImageCaptureControl_iid) == 0) {
- if (d->cameraControl)
- return d->cameraControl->imageCaptureControl();
- }
+ if (!d->cameraControl)
+ return nullptr;
- if (qstrcmp(name, QImageEncoderControl_iid) == 0) {
- if (d->cameraControl)
- return d->cameraControl->imageEncoderControl();
- }
+ if (qstrcmp(name, QVideoRendererControl_iid) == 0)
+ return d->cameraControl->videoRenderer();
+
+ if (qstrcmp(name, QVideoDeviceSelectorControl_iid) == 0)
+ return d->cameraControl->videoDeviceSelector();
+
+ if (qstrcmp(name, QCameraImageCaptureControl_iid) == 0)
+ return d->cameraControl->imageCaptureControl();
+
+ if (qstrcmp(name, QImageEncoderControl_iid) == 0)
+ return d->cameraControl->imageEncoderControl();
+
+ if (qstrcmp(name, QCameraFocusControl_iid) == 0)
+ return d->cameraControl->cameraFocusControl();
+
+ if (qstrcmp(name, QCameraLocksControl_iid) == 0)
+ return d->cameraControl->cameraLocksControl();
- return Q_NULLPTR;
+ return nullptr;
}
void QWinRTCameraService::releaseControl(QMediaControl *control)