diff options
author | Peng Wu <peng.wu@intopalo.com> | 2015-08-06 16:33:39 +0300 |
---|---|---|
committer | Andrew Knight <andrew.knight@intopalo.com> | 2015-08-10 12:12:49 +0000 |
commit | 5cec451c10e73785c95fb236cbae7205a9a661d0 (patch) | |
tree | d1a9abd7c6a1eb8dc4345fa565d10a5777509721 /src/plugins/winrt/qwinrtcameraservice.cpp | |
parent | ef3695a009c7cb5cfda2bbe4f2e0480b0334a631 (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.cpp | 42 |
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) |