summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/multimedia/declarative-camera/PhotoCaptureControls.qml4
-rw-r--r--src/imports/multimedia/CMakeLists.txt1
-rw-r--r--src/imports/multimedia/camerafocus.qdoc (renamed from src/imports/multimedia/qdeclarativecamerafocus.cpp)73
-rw-r--r--src/imports/multimedia/multimedia.cpp3
-rw-r--r--src/imports/multimedia/qdeclarativecamera.cpp44
-rw-r--r--src/imports/multimedia/qdeclarativecamera_p.h19
-rw-r--r--src/imports/multimedia/qdeclarativecamerafocus_p.h118
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