diff options
-rw-r--r-- | examples/multimedia/declarative-camera/PhotoCaptureControls.qml | 4 | ||||
-rw-r--r-- | src/imports/multimedia/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/imports/multimedia/camerafocus.qdoc (renamed from src/imports/multimedia/qdeclarativecamerafocus.cpp) | 73 | ||||
-rw-r--r-- | src/imports/multimedia/multimedia.cpp | 3 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamera.cpp | 44 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamera_p.h | 19 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamerafocus_p.h | 118 |
7 files changed, 22 insertions, 240 deletions
diff --git a/examples/multimedia/declarative-camera/PhotoCaptureControls.qml b/examples/multimedia/declarative-camera/PhotoCaptureControls.qml index 911ca8ccd..86c820699 100644 --- a/examples/multimedia/declarative-camera/PhotoCaptureControls.qml +++ b/examples/multimedia/declarative-camera/PhotoCaptureControls.qml @@ -162,8 +162,8 @@ FocusScope { width : 100 height: parent.height - currentZoom: camera.digitalZoom - maximumZoom: Math.min(4.0, camera.maximumDigitalZoom) + currentZoom: camera.focus.zoomFactor + maximumZoom: camera.focus.maximumZoomFactor onZoomTo: camera.setDigitalZoom(value) } } diff --git a/src/imports/multimedia/CMakeLists.txt b/src/imports/multimedia/CMakeLists.txt index 9d8c06fb9..2a09a00cd 100644 --- a/src/imports/multimedia/CMakeLists.txt +++ b/src/imports/multimedia/CMakeLists.txt @@ -14,7 +14,6 @@ qt_internal_add_qml_module(declarative_multimedia qdeclarativecameracapture.cpp qdeclarativecameracapture_p.h qdeclarativecameraexposure.cpp qdeclarativecameraexposure_p.h qdeclarativecameraflash.cpp qdeclarativecameraflash_p.h - qdeclarativecamerafocus.cpp qdeclarativecamerafocus_p.h qdeclarativecamerapreviewprovider.cpp qdeclarativecamerapreviewprovider_p.h qdeclarativecamerarecorder.cpp qdeclarativecamerarecorder_p.h qdeclarativemultimediaglobal.cpp qdeclarativemultimediaglobal_p.h diff --git a/src/imports/multimedia/qdeclarativecamerafocus.cpp b/src/imports/multimedia/camerafocus.qdoc index 51a3a87e3..ea827ab58 100644 --- a/src/imports/multimedia/qdeclarativecamerafocus.cpp +++ b/src/imports/multimedia/camerafocus.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the plugins of the Qt Toolkit. @@ -37,9 +37,6 @@ ** ****************************************************************************/ -#include "qdeclarativecamera_p.h" -#include "qdeclarativecamerafocus_p.h" - QT_BEGIN_NAMESPACE /*! @@ -88,24 +85,6 @@ QT_BEGIN_NAMESPACE */ /*! - Construct a declarative camera focus object using \a parent object. - */ - -QDeclarativeCameraFocus::QDeclarativeCameraFocus(QCamera *camera, QObject *parent) : - QObject(parent) -{ - m_focus = camera->focus(); - - connect(camera, &QCamera::statusChanged, [this](QCamera::Status status) { - if (status != QCamera::InactiveStatus && status != QCamera::ActiveStatus) - return; - - emit supportedFocusModeChanged(); - }); -} - -QDeclarativeCameraFocus::~QDeclarativeCameraFocus() = default; -/*! \property QDeclarativeCameraFocus::focusMode This property holds the current camera focus mode. @@ -148,10 +127,6 @@ QDeclarativeCameraFocus::~QDeclarativeCameraFocus() = default; provides information and control over the area of the image that is being focused. */ -QDeclarativeCameraFocus::FocusMode QDeclarativeCameraFocus::focusMode() const -{ - return QDeclarativeCameraFocus::FocusMode(int(m_focus->focusMode())); -} /*! \qmlproperty list<FocusMode> CameraFocus::supportedFocusMode @@ -161,25 +136,6 @@ QDeclarativeCameraFocus::FocusMode QDeclarativeCameraFocus::focusMode() const \since 5.11 \sa focusMode */ -QVariantList QDeclarativeCameraFocus::supportedFocusMode() const -{ - QVariantList supportedModes; - - for (int i = int(FocusManual); i <= int(FocusMacro); ++i) { - if (m_focus->isFocusModeSupported((QCameraFocus::FocusMode) i)) - supportedModes.append(i); - } - - return supportedModes; -} - -void QDeclarativeCameraFocus::setFocusMode(QDeclarativeCameraFocus::FocusMode mode) -{ - if (mode != focusMode()) { - m_focus->setFocusMode(QCameraFocus::FocusMode(int(mode))); - emit focusModeChanged(focusMode()); - } -} /*! \property QDeclarativeCameraFocus::customFocusPoint @@ -201,19 +157,20 @@ void QDeclarativeCameraFocus::setFocusMode(QDeclarativeCameraFocus::FocusMode mo Custom focus point is used only in FocusPointCustom focus mode. */ -QPointF QDeclarativeCameraFocus::customFocusPoint() const -{ - return m_focus->customFocusPoint(); -} +/*! + \qmlproperty real QtMultimedia::CameraFocus::minimumZoomFactor -void QDeclarativeCameraFocus::setCustomFocusPoint(const QPointF &point) -{ - if (point != customFocusPoint()) { - m_focus->setCustomFocusPoint(point); - emit customFocusPointChanged(customFocusPoint()); - } -} + This property holds the minimum zoom factor supported. +*/ + +/*! + \qmlproperty real QtMultimedia::CameraFocus::maximumZoomFactor -QT_END_NAMESPACE + This property holds the maximum zoom factor supported, or 1.0 if zooming is not supported. +*/ -#include "moc_qdeclarativecamerafocus_p.cpp" +/*! + \property QDeclarativeCameraFocus::zoomFactor + + This property holds the current zoom factor. +*/ diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp index ecaf03855..014e07cdb 100644 --- a/src/imports/multimedia/multimedia.cpp +++ b/src/imports/multimedia/multimedia.cpp @@ -53,7 +53,6 @@ #include "qdeclarativecamerapreviewprovider_p.h" #include "qdeclarativecameraexposure_p.h" #include "qdeclarativecameraflash_p.h" -#include "qdeclarativecamerafocus_p.h" #include "qdeclarativetorch_p.h" QML_DECLARE_TYPE(QSoundEffect) @@ -91,7 +90,7 @@ public: tr("CameraRecorder is provided by Camera")); qmlRegisterUncreatableType<QDeclarativeCameraExposure>(uri, 6, 0, "CameraExposure", tr("CameraExposure is provided by Camera")); - qmlRegisterUncreatableType<QDeclarativeCameraFocus>(uri, 6, 0, "CameraFocus", + qmlRegisterUncreatableType<QCameraFocus>(uri, 6, 0, "CameraFocus", tr("CameraFocus is provided by Camera")); qmlRegisterUncreatableType<QDeclarativeCameraFlash>(uri, 6, 0, "CameraFlash", tr("CameraFlash is provided by Camera")); diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp index c904919ad..626342cc6 100644 --- a/src/imports/multimedia/qdeclarativecamera.cpp +++ b/src/imports/multimedia/qdeclarativecamera.cpp @@ -43,7 +43,6 @@ #include "qdeclarativecameraexposure_p.h" #include "qdeclarativecameraflash_p.h" #include "qdeclarativetorch_p.h" -#include "qdeclarativecamerafocus_p.h" #include <private/qplatformmediaplayer_p.h> #include <qobject.h> @@ -172,14 +171,10 @@ QDeclarativeCamera::QDeclarativeCamera(QObject *parent) : m_exposure = new QDeclarativeCameraExposure(m_camera); m_flash = new QDeclarativeCameraFlash(m_camera); m_torch = new QDeclarativeTorch(m_camera); - m_focus = new QDeclarativeCameraFocus(m_camera); connect(m_camera, &QCamera::activeChanged, this, &QDeclarativeCamera::activeChanged); connect(m_camera, SIGNAL(statusChanged(QCamera::Status)), this, SIGNAL(cameraStatusChanged())); connect(m_camera, SIGNAL(errorOccurred(QCamera::Error)), this, SLOT(_q_errorOccurred(QCamera::Error))); - - connect(m_camera->focus(), &QCameraFocus::zoomFactorChanged, - this, &QDeclarativeCamera::zoomFactorChanged); } /*! Destructor, clean up memory */ @@ -190,7 +185,6 @@ QDeclarativeCamera::~QDeclarativeCamera() delete m_videoRecorder; delete m_exposure; delete m_flash; - delete m_focus; delete m_camera; } @@ -213,7 +207,7 @@ void QDeclarativeCamera::componentComplete() You can get all available device IDs from \l{QtMultimedia::QtMultimedia::availableCameras}{QtMultimedia.availableCameras}. If no value is provided or if set to an empty string, the system's default camera will be used. - If possible, \l cameraState, \l zoomFactor and other camera parameters are + If possible, \l cameraState and other camera parameters are preserved when changing the camera device. \sa displayName, position @@ -243,7 +237,7 @@ void QDeclarativeCamera::setDeviceId(const QString &name) front-facing and back-facing cameras. If this property is set to \c Camera.UnspecifiedPosition, the system's default camera is used. - If possible, \l cameraState, \l zoomFactor and other camera + If possible, \l cameraState and other camera parameters are preserved when changing the camera device. \value Camera.UnspecifiedPosition @@ -449,40 +443,6 @@ void QDeclarativeCamera::setActive(bool active) */ /*! - \qmlproperty real QtMultimedia::Camera::minimumZoomFactor - - This property holds the minimum zoom factor supported. -*/ -qreal QDeclarativeCamera::minimumZoomFactor() const -{ - return m_camera->focus()->minimumZoomFactor(); -} - -/*! - \qmlproperty real QtMultimedia::Camera::maximumZoomFactor - - This property holds the maximum zoom factor supported, or 1.0 if zooming is not supported. -*/ -qreal QDeclarativeCamera::maximumZoomFactor() const -{ - return m_camera->focus()->maximumZoomFactor(); -} -/*! - \property QDeclarativeCamera::zoomFactor - - This property holds the current zoom factor. -*/ -qreal QDeclarativeCamera::zoomFactor() const -{ - return m_camera->focus()->zoomFactor(); -} - -void QDeclarativeCamera::setZoomFactor(qreal value) -{ - m_camera->focus()->setZoomFactor(value); -} - -/*! \qmlproperty variant QtMultimedia::Camera::mediaSource This property holds the native media object for the camera. diff --git a/src/imports/multimedia/qdeclarativecamera_p.h b/src/imports/multimedia/qdeclarativecamera_p.h index 07adaa328..5d4f68114 100644 --- a/src/imports/multimedia/qdeclarativecamera_p.h +++ b/src/imports/multimedia/qdeclarativecamera_p.h @@ -69,7 +69,6 @@ QT_BEGIN_NAMESPACE class QDeclarativeCameraExposure; -class QDeclarativeCameraFocus; class QDeclarativeCameraFlash; class QDeclarativeTorch; class QDeclarativeCamera : public QObject, public QQmlParserStatus @@ -86,16 +85,12 @@ class QDeclarativeCamera : public QObject, public QQmlParserStatus Q_PROPERTY(Error errorCode READ errorCode NOTIFY errorChanged) Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged) - Q_PROPERTY(qreal minimumZoomFactor READ minimumZoomFactor) - Q_PROPERTY(qreal maximumZoomFactor READ maximumZoomFactor) - Q_PROPERTY(qreal zoomFactor READ zoomFactor WRITE setZoomFactor NOTIFY zoomFactorChanged) - Q_PROPERTY(QDeclarativeCameraCapture* imageCapture READ imageCapture CONSTANT) Q_PROPERTY(QDeclarativeCameraRecorder* videoRecorder READ videoRecorder CONSTANT) Q_PROPERTY(QDeclarativeCameraExposure* exposure READ exposure CONSTANT) Q_PROPERTY(QDeclarativeCameraFlash* flash READ flash CONSTANT) Q_PROPERTY(QDeclarativeTorch* torch READ torch CONSTANT) - Q_PROPERTY(QDeclarativeCameraFocus* focus READ focus CONSTANT) + Q_PROPERTY(QCameraFocus* focus READ focus CONSTANT) Q_PROPERTY(QCameraImageProcessing* imageProcessing READ imageProcessing CONSTANT) Q_ENUMS(Position) @@ -181,7 +176,7 @@ public: QDeclarativeCameraExposure *exposure() { return m_exposure; } QDeclarativeCameraFlash *flash() { return m_flash; } QDeclarativeTorch *torch() { return m_torch; } - QDeclarativeCameraFocus *focus() { return m_focus; } + QCameraFocus *focus() { return m_camera->focus(); } QCameraImageProcessing *imageProcessing() { return m_camera->imageProcessing(); } QString deviceId() const; @@ -198,11 +193,6 @@ public: Error errorCode() const; QString errorString() const; - qreal minimumZoomFactor() const; - qreal maximumZoomFactor() const; - - qreal zoomFactor() const; - bool isAvailable() const; public Q_SLOTS: @@ -211,8 +201,6 @@ public Q_SLOTS: void setActive(bool active); - void setZoomFactor(qreal); - Q_REVISION(2) QJSValue supportedResolutions(qreal minimumFrameRate = 0.0, qreal maximumFrameRate = 0.0); @@ -229,8 +217,6 @@ Q_SIGNALS: void activeChanged(); void cameraStatusChanged(); - void zoomFactorChanged(qreal); - private Q_SLOTS: void _q_errorOccurred(QCamera::Error); @@ -251,7 +237,6 @@ private: QDeclarativeCameraExposure *m_exposure; QDeclarativeCameraFlash *m_flash; QDeclarativeTorch *m_torch; - QDeclarativeCameraFocus *m_focus; bool m_componentComplete; bool pendingActive = false; diff --git a/src/imports/multimedia/qdeclarativecamerafocus_p.h b/src/imports/multimedia/qdeclarativecamerafocus_p.h deleted file mode 100644 index 1314e8d6d..000000000 --- a/src/imports/multimedia/qdeclarativecamerafocus_p.h +++ /dev/null @@ -1,118 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QDECLARATIVECAMERAFOCUS_H -#define QDECLARATIVECAMERAFOCUS_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of other Qt classes. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QtCore/qabstractitemmodel.h> -#include <qcamera.h> -#include <qcamerafocus.h> -#include "qdeclarativecamera_p.h" - -QT_BEGIN_NAMESPACE - -class QDeclarativeCamera; - -class QDeclarativeCameraFocus : public QObject -{ - Q_OBJECT - - Q_PROPERTY(FocusMode focusMode READ focusMode WRITE setFocusMode NOTIFY focusModeChanged) - Q_PROPERTY(QVariantList supportedFocusMode READ supportedFocusMode NOTIFY supportedFocusModeChanged REVISION 1) - - Q_PROPERTY(QPointF customFocusPoint READ customFocusPoint WRITE setCustomFocusPoint NOTIFY customFocusPointChanged) - - Q_ENUMS(FocusMode) -public: - enum FocusMode { - FocusModeAuto = QCameraFocus::FocusModeAuto, - FocusModeAutoNear = QCameraFocus::FocusModeAutoNear, - FocusModeAutoFar = QCameraFocus::FocusModeAutoFar, - FocusModeHyperfocal = QCameraFocus::FocusModeHyperfocal, - FocusModeInfinity = QCameraFocus::FocusModeInfinity, - FocusModeManual = QCameraFocus::FocusModeManual -#if 1 // QT_DEPRECATED - , FocusContinuous = FocusModeAuto, - FocusAuto = FocusModeAuto, - FocusMacro = FocusModeAutoNear, - FocusHyperfocal = FocusModeHyperfocal, - FocusInfinity = FocusModeInfinity, - FocusManual = FocusModeManual -#endif - }; - - ~QDeclarativeCameraFocus(); - - FocusMode focusMode() const; - QVariantList supportedFocusMode() const; - - QPointF customFocusPoint() const; - -public Q_SLOTS: - void setFocusMode(FocusMode); - void setCustomFocusPoint(const QPointF &point); - -Q_SIGNALS: - void focusModeChanged(FocusMode); - void supportedFocusModeChanged(); - void customFocusPointChanged(const QPointF &); - -private: - friend class QDeclarativeCamera; - QDeclarativeCameraFocus(QCamera *camera, QObject *parent = 0); - - QCameraFocus *m_focus; -}; - -QT_END_NAMESPACE - -QML_DECLARE_TYPE(QT_PREPEND_NAMESPACE(QDeclarativeCameraFocus)) - -#endif |