diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-02-26 16:36:47 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-03-16 07:38:01 +0000 |
commit | d57879c3e2fde7a4992d6c2c171e2e3ae3f91b35 (patch) | |
tree | 36e2b0255fd1c18f0e7f40e6f512fed03759d7fe /src/imports | |
parent | f202890086fa32222877a8f9f48ae570174bd385 (diff) |
Remove QCameraFocus::focusPointMode property
It doesn't make a whole lot of sense to have this. The only
thing that we can properly support is setting a focus point,
but that doesn't require all the additional API here.
Add support for retrieving the current focus point of the
camera if the camera support it.
Change-Id: I3ef31db8f0bfeb9d7e5d4e84ee8614637779a2c5
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/imports')
-rw-r--r-- | src/imports/multimedia/plugins.qmltypes | 33 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamera_p.h | 8 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamerafocus.cpp | 80 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamerafocus_p.h | 17 |
4 files changed, 4 insertions, 134 deletions
diff --git a/src/imports/multimedia/plugins.qmltypes b/src/imports/multimedia/plugins.qmltypes index c19995431..09c1d39a7 100644 --- a/src/imports/multimedia/plugins.qmltypes +++ b/src/imports/multimedia/plugins.qmltypes @@ -613,15 +613,6 @@ Module { } } Enum { - name: "FocusPointMode" - values: { - "FocusPointAuto": 0, - "FocusPointCenter": 1, - "FocusPointFaceDetection": 2, - "FocusPointCustom": 3 - } - } - Enum { name: "Availability" values: { "Available": 0, @@ -970,29 +961,14 @@ Module { "FocusManual": 5 } } - Enum { - name: "FocusPointMode" - values: { - "FocusPointAuto": 0, - "FocusPointCenter": 1, - "FocusPointFaceDetection": 2, - "FocusPointCustom": 3 - } - } Property { name: "focusMode"; type: "FocusMode" } Property { name: "supportedFocusModes"; revision: 1; type: "QVariantList"; isReadonly: true } - Property { name: "focusPointMode"; type: "FocusPointMode" } - Property { name: "supportedFocusPointModes"; revision: 1; type: "QVariantList"; isReadonly: true } Property { name: "customFocusPoint"; type: "QPointF" } Signal { name: "focusModeChanged" Parameter { type: "FocusMode" } } Signal { - name: "focusPointModeChanged" - Parameter { type: "FocusPointMode" } - } - Signal { name: "customFocusPointChanged" Parameter { type: "QPointF" } } @@ -1001,10 +977,6 @@ Module { Parameter { type: "FocusMode" } } Method { - name: "setFocusPointMode" - Parameter { name: "mode"; type: "FocusPointMode" } - } - Method { name: "setCustomFocusPoint" Parameter { name: "point"; type: "QPointF" } } @@ -1013,11 +985,6 @@ Module { type: "bool" Parameter { name: "mode"; type: "FocusMode" } } - Method { - name: "isFocusPointModeSupported" - type: "bool" - Parameter { name: "mode"; type: "FocusPointMode" } - } } Component { name: "QDeclarativeCameraImageProcessing" diff --git a/src/imports/multimedia/qdeclarativecamera_p.h b/src/imports/multimedia/qdeclarativecamera_p.h index 1c2da5384..b0f617865 100644 --- a/src/imports/multimedia/qdeclarativecamera_p.h +++ b/src/imports/multimedia/qdeclarativecamera_p.h @@ -110,7 +110,6 @@ class QDeclarativeCamera : public QObject, public QQmlParserStatus Q_ENUMS(ExposureMode) Q_ENUMS(FocusMode) - Q_ENUMS(FocusPointMode) public: enum Position { @@ -187,13 +186,6 @@ public: #endif }; - enum FocusPointMode { - FocusPointAuto = QCameraFocus::FocusPointAuto, - FocusPointCenter = QCameraFocus::FocusPointCenter, - FocusPointFaceDetection = QCameraFocus::FocusPointFaceDetection, - FocusPointCustom = QCameraFocus::FocusPointCustom - }; - QDeclarativeCamera(QObject *parent = 0); ~QDeclarativeCamera(); diff --git a/src/imports/multimedia/qdeclarativecamerafocus.cpp b/src/imports/multimedia/qdeclarativecamerafocus.cpp index 02d4995be..0a50b12f8 100644 --- a/src/imports/multimedia/qdeclarativecamerafocus.cpp +++ b/src/imports/multimedia/qdeclarativecamerafocus.cpp @@ -68,7 +68,6 @@ QT_BEGIN_NAMESPACE focus { focusMode: Camera.FocusMacro - focusPointMode: Camera.FocusPointCustom customFocusPoint: Qt.point(0.2, 0.2) // Focus relative to top-left corner } } @@ -104,7 +103,6 @@ QDeclarativeCameraFocus::QDeclarativeCameraFocus(QCamera *camera, QObject *paren } emit supportedFocusModeChanged(); - emit supportedFocusPointModesChanged(); }); } @@ -114,9 +112,8 @@ QDeclarativeCameraFocus::~QDeclarativeCameraFocus() = default; This property holds the current camera focus mode. - In automatic focusing modes, the \l focusPointMode - property provides information and control - over how automatic focusing is performed. + In automatic focusing modes, the \l focusPoint + property provides a hint on where the camera should focus. */ /*! @@ -149,9 +146,9 @@ QDeclarativeCameraFocus::~QDeclarativeCameraFocus() = default; \li Manual or fixed focus mode. \endtable - In automatic focusing modes, the \l focusPointMode property + In automatic focusing modes, the \l focusPoint property provides information and control - over how automatic focusing is performed. + over the area of the image that is being focused. */ QDeclarativeCameraFocus::FocusMode QDeclarativeCameraFocus::focusMode() const { @@ -185,75 +182,6 @@ void QDeclarativeCameraFocus::setFocusMode(QDeclarativeCameraFocus::FocusMode mo emit focusModeChanged(focusMode()); } } -/*! - \property QDeclarativeCameraFocus::focusPointMode - - This property holds the current camera focus point mode. It is used in - automatic focusing modes to determine what to focus on. - - If the current focus point mode is \l QCameraFocus::FocusPointCustom, the - \l customFocusPoint property allows you to specify which part of - the frame to focus on. -*/ -/*! - \qmlproperty enumeration CameraFocus::focusPointMode - - This property holds the current camera focus point mode. It is used in automatic - focusing modes to determine what to focus on. If the current - focus point mode is \c Camera.FocusPointCustom, the \l customFocusPoint - property allows you to specify which part of the frame to focus on. - - The property can take one of the following values: - \table - \header - \li Value - \li Description - \row - \li FocusPointAuto - \li Automatically select one or multiple focus points. - \row - \li FocusPointCenter - \li Focus to the frame center. - \row - \li FocusPointFaceDetection - \li Focus on faces in the frame. - \row - \li FocusPointCustom - \li Focus to the custom point, defined by the customFocusPoint property. - \endtable -*/ -QDeclarativeCameraFocus::FocusPointMode QDeclarativeCameraFocus::focusPointMode() const -{ - return QDeclarativeCameraFocus::FocusPointMode(m_focus->focusPointMode()); -} - -/*! - \qmlproperty list<enumeration> CameraFocus::supportedFocusPointModes - - This property holds the supported focus point modes of the camera. - - \since 5.10 - \sa focusPointMode -*/ -QVariantList QDeclarativeCameraFocus::supportedFocusPointModes() const -{ - QVariantList supportedModes; - - for (int i = int(FocusPointAuto); i <= int(FocusPointCustom); i++) { - if (m_focus->isFocusPointModeSupported(QCameraFocus::FocusPointMode(i))) - supportedModes.append(i); - } - - return supportedModes; -} - -void QDeclarativeCameraFocus::setFocusPointMode(QDeclarativeCameraFocus::FocusPointMode mode) -{ - if (mode != focusPointMode()) { - m_focus->setFocusPointMode(QCameraFocus::FocusPointMode(mode)); - emit focusPointModeChanged(focusPointMode()); - } -} /*! \property QDeclarativeCameraFocus::customFocusPoint diff --git a/src/imports/multimedia/qdeclarativecamerafocus_p.h b/src/imports/multimedia/qdeclarativecamerafocus_p.h index c9919e332..1314e8d6d 100644 --- a/src/imports/multimedia/qdeclarativecamerafocus_p.h +++ b/src/imports/multimedia/qdeclarativecamerafocus_p.h @@ -67,13 +67,9 @@ class QDeclarativeCameraFocus : public QObject Q_PROPERTY(FocusMode focusMode READ focusMode WRITE setFocusMode NOTIFY focusModeChanged) Q_PROPERTY(QVariantList supportedFocusMode READ supportedFocusMode NOTIFY supportedFocusModeChanged REVISION 1) - Q_PROPERTY(FocusPointMode focusPointMode READ focusPointMode WRITE setFocusPointMode NOTIFY focusPointModeChanged) - Q_PROPERTY(QVariantList supportedFocusPointModes READ supportedFocusPointModes NOTIFY supportedFocusPointModesChanged REVISION 1) - Q_PROPERTY(QPointF customFocusPoint READ customFocusPoint WRITE setCustomFocusPoint NOTIFY customFocusPointChanged) Q_ENUMS(FocusMode) - Q_ENUMS(FocusPointMode) public: enum FocusMode { FocusModeAuto = QCameraFocus::FocusModeAuto, @@ -92,33 +88,20 @@ public: #endif }; - enum FocusPointMode { - FocusPointAuto = QCameraFocus::FocusPointAuto, - FocusPointCenter = QCameraFocus::FocusPointCenter, - FocusPointFaceDetection = QCameraFocus::FocusPointFaceDetection, - FocusPointCustom = QCameraFocus::FocusPointCustom - }; - ~QDeclarativeCameraFocus(); FocusMode focusMode() const; QVariantList supportedFocusMode() const; - FocusPointMode focusPointMode() const; - QVariantList supportedFocusPointModes() const; - QPointF customFocusPoint() const; public Q_SLOTS: void setFocusMode(FocusMode); - void setFocusPointMode(FocusPointMode mode); void setCustomFocusPoint(const QPointF &point); Q_SIGNALS: void focusModeChanged(FocusMode); void supportedFocusModeChanged(); - void focusPointModeChanged(FocusPointMode); - void supportedFocusPointModesChanged(); void customFocusPointChanged(const QPointF &); private: |