summaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-02-07 16:00:13 +0100
committerLars Knoll <lars.knoll@qt.io>2021-02-09 19:04:36 +0000
commitc9207426ec8f44bf766180631890a5ba6f4925d6 (patch)
tree4b5540b577943642e85ebc924df68c12f67f5a30 /src/imports
parentff25f700c87a308702f4dfdd8b2ab145a75ef5e4 (diff)
Clean up zooming API
There is very little point these days in having properties for both optical and digital zoom. Most mobile cameras don't have a real optical zoom, but instead combine different cameras with different focal lengths. Change-Id: Icac48d949e767d7f3105c4d330e15273fe715fbe Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/multimedia/qdeclarativecamera.cpp71
-rw-r--r--src/imports/multimedia/qdeclarativecamera_p.h22
2 files changed, 24 insertions, 69 deletions
diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp
index 8b90d99c6..d2af7ab7d 100644
--- a/src/imports/multimedia/qdeclarativecamera.cpp
+++ b/src/imports/multimedia/qdeclarativecamera.cpp
@@ -192,14 +192,8 @@ QDeclarativeCamera::QDeclarativeCamera(QObject *parent) :
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::opticalZoomChanged,
- this, &QDeclarativeCamera::opticalZoomChanged);
- connect(m_camera->focus(), &QCameraFocus::digitalZoomChanged,
- this, &QDeclarativeCamera::digitalZoomChanged);
- connect(m_camera->focus(), &QCameraFocus::maximumOpticalZoomChanged,
- this, &QDeclarativeCamera::maximumOpticalZoomChanged);
- connect(m_camera->focus(), &QCameraFocus::maximumDigitalZoomChanged,
- this, &QDeclarativeCamera::maximumDigitalZoomChanged);
+ connect(m_camera->focus(), &QCameraFocus::zoomFactorChanged,
+ this, &QDeclarativeCamera::zoomFactorChanged);
}
/*! Destructor, clean up memory */
@@ -626,72 +620,39 @@ void QDeclarativeCamera::unlock()
{
m_camera->unlock();
}
-/*!
- \property QDeclarativeCamera::maximumOpticalZoom
- This property holds the maximum optical zoom factor supported, or 1.0 if optical zoom is not supported.
-*/
/*!
- \qmlproperty real QtMultimedia::Camera::maximumOpticalZoom
+ \qmlproperty real QtMultimedia::Camera::minimumZoomFactor
- This property holds the maximum optical zoom factor supported, or 1.0 if optical zoom is not supported.
+ This property holds the minimum zoom factor supported.
*/
-qreal QDeclarativeCamera::maximumOpticalZoom() const
+qreal QDeclarativeCamera::minimumZoomFactor() const
{
- return m_camera->focus()->maximumOpticalZoom();
+ return m_camera->focus()->minimumZoomFactor();
}
-/*!
- \property QDeclarativeCamera::maximumDigitalZoom
- This property holds the maximum digital zoom factor supported, or 1.0 if digital zoom is not supported.
-*/
/*!
- \qmlproperty real QtMultimedia::Camera::maximumDigitalZoom
+ \qmlproperty real QtMultimedia::Camera::maximumZoomFactor
- This property holds the maximum digital zoom factor supported, or 1.0 if digital zoom is not supported.
+ This property holds the maximum zoom factor supported, or 1.0 if zooming is not supported.
*/
-qreal QDeclarativeCamera::maximumDigitalZoom() const
+qreal QDeclarativeCamera::maximumZoomFactor() const
{
- return m_camera->focus()->maximumDigitalZoom();
+ return m_camera->focus()->maximumZoomFactor();
}
/*!
- \property QDeclarativeCamera::opticalZoom
-
- This property holds the current optical zoom factor.
-*/
-
-/*!
- \qmlproperty real QtMultimedia::Camera::opticalZoom
-
- This property holds the current optical zoom factor.
-*/
-qreal QDeclarativeCamera::opticalZoom() const
-{
- return m_camera->focus()->opticalZoom();
-}
-
-void QDeclarativeCamera::setOpticalZoom(qreal value)
-{
- m_camera->focus()->zoomTo(value, digitalZoom());
-}
-/*!
- \property QDeclarativeCamera::digitalZoom
-
- This property holds the current digital zoom factor.
-*/
-/*!
- \qmlproperty real QtMultimedia::Camera::digitalZoom
+ \property QDeclarativeCamera::zoomFactor
- This property holds the current digital zoom factor.
+ This property holds the current zoom factor.
*/
-qreal QDeclarativeCamera::digitalZoom() const
+qreal QDeclarativeCamera::zoomFactor() const
{
- return m_camera->focus()->digitalZoom();
+ return m_camera->focus()->zoomFactor();
}
-void QDeclarativeCamera::setDigitalZoom(qreal value)
+void QDeclarativeCamera::setZoomFactor(qreal value)
{
- m_camera->focus()->zoomTo(opticalZoom(), value);
+ m_camera->focus()->setZoomFactor(value);
}
/*!
diff --git a/src/imports/multimedia/qdeclarativecamera_p.h b/src/imports/multimedia/qdeclarativecamera_p.h
index 20a7ce2e0..0c60d9319 100644
--- a/src/imports/multimedia/qdeclarativecamera_p.h
+++ b/src/imports/multimedia/qdeclarativecamera_p.h
@@ -88,10 +88,9 @@ 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 opticalZoom READ opticalZoom WRITE setOpticalZoom NOTIFY opticalZoomChanged)
- Q_PROPERTY(qreal maximumOpticalZoom READ maximumOpticalZoom NOTIFY maximumOpticalZoomChanged)
- Q_PROPERTY(qreal digitalZoom READ digitalZoom WRITE setDigitalZoom NOTIFY digitalZoomChanged)
- Q_PROPERTY(qreal maximumDigitalZoom READ maximumDigitalZoom NOTIFY maximumDigitalZoomChanged)
+ Q_PROPERTY(qreal minimumZoomFactor READ minimumZoomFactor)
+ Q_PROPERTY(qreal maximumZoomFactor READ maximumZoomFactor)
+ Q_PROPERTY(qreal zoomFactor READ zoomFactor WRITE setZoomFactor NOTIFY zoomFactorChanged)
Q_PROPERTY(QObject *mediaSource READ mediaSource NOTIFY mediaSourceChanged SCRIPTABLE false DESIGNABLE false)
Q_PROPERTY(QDeclarativeCameraCapture* imageCapture READ imageCapture CONSTANT)
@@ -260,11 +259,10 @@ public:
LockStatus lockStatus() const;
- qreal maximumOpticalZoom() const;
- qreal maximumDigitalZoom() const;
+ qreal minimumZoomFactor() const;
+ qreal maximumZoomFactor() const;
- qreal opticalZoom() const;
- qreal digitalZoom() const;
+ qreal zoomFactor() const;
Availability availability() const;
@@ -279,8 +277,7 @@ public Q_SLOTS:
void searchAndLock();
void unlock();
- void setOpticalZoom(qreal);
- void setDigitalZoom(qreal);
+ void setZoomFactor(qreal);
Q_REVISION(2) QJSValue supportedResolutions(qreal minimumFrameRate = 0.0,
qreal maximumFrameRate = 0.0);
@@ -301,10 +298,7 @@ Q_SIGNALS:
void lockStatusChanged();
- void opticalZoomChanged(qreal);
- void digitalZoomChanged(qreal);
- void maximumOpticalZoomChanged(qreal);
- void maximumDigitalZoomChanged(qreal);
+ void zoomFactorChanged(qreal);
void mediaSourceChanged();