diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-02-26 14:30:12 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-03-16 07:37:45 +0000 |
commit | f202890086fa32222877a8f9f48ae570174bd385 (patch) | |
tree | b0b913bdea52fd80f22b827626f958e40492c688 /src/imports/multimedia/qdeclarativecamerafocus.cpp | |
parent | 95dcadf5de41d5b2f385c5bdf547ee673fe83dff (diff) |
Clean up focus modes and add manual focus control
Clean up the FocusMode enum and adjust it to what we
can support on Apple platforms and Android.
Add a focusDistance property to manually set the focus
distance.
Change-Id: Idddaed006935277a167cec12a91c57f3dc6df6fb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/imports/multimedia/qdeclarativecamerafocus.cpp')
-rw-r--r-- | src/imports/multimedia/qdeclarativecamerafocus.cpp | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/src/imports/multimedia/qdeclarativecamerafocus.cpp b/src/imports/multimedia/qdeclarativecamerafocus.cpp index 11e106078..02d4995be 100644 --- a/src/imports/multimedia/qdeclarativecamerafocus.cpp +++ b/src/imports/multimedia/qdeclarativecamerafocus.cpp @@ -103,7 +103,7 @@ QDeclarativeCameraFocus::QDeclarativeCameraFocus(QCamera *camera, QObject *paren return; } - emit supportedFocusModesChanged(); + emit supportedFocusModeChanged(); emit supportedFocusPointModesChanged(); }); } @@ -114,9 +114,6 @@ QDeclarativeCameraFocus::~QDeclarativeCameraFocus() = default; This property holds the current camera focus mode. - It's possible to combine multiple QCameraFocus::FocusMode enum values, - for example QCameraFocus::MacroFocus + QCameraFocus::ContinuousFocus. - In automatic focusing modes, the \l focusPointMode property provides information and control over how automatic focusing is performed. @@ -132,28 +129,26 @@ QDeclarativeCameraFocus::~QDeclarativeCameraFocus() = default; \li Value \li Description \row - \li FocusManual - \li Manual or fixed focus mode. + \li FocusModeAuto + \li Continuous auto focus mode. \row - \li FocusHyperfocal - \li Focus to hyperfocal distance, with the maximum depth of field achieved. All objects at distances from half of this distance out to infinity will be acceptably sharp. + \li FocusModeAutoNear + \li Continuous auto focus, preferring objects near to the camera. \row - \li FocusInfinity - \li Focus strictly to infinity. + \li FocusModeAutoFar + \li Continuous auto focus, preferring objects far away from the camera. \row - \li FocusAuto - \li One-shot auto focus mode. + \li FocusModeHyperfocal + \li Focus to hyperfocal distance, with the maximum depth of field achieved. All objects at distances + from half of this distance out to infinity will be acceptably sharp. \row - \li FocusContinuous - \li Continuous auto focus mode. + \li FocusModeInfinity + \li Focus strictly to infinity. \row - \li FocusMacro - \li One shot auto focus to objects close to camera. + \li FocusModeManual + \li Manual or fixed focus mode. \endtable - It's possible to combine multiple Camera::FocusMode values, - for example Camera.FocusMacro + Camera.FocusContinuous. - In automatic focusing modes, the \l focusPointMode property provides information and control over how automatic focusing is performed. @@ -164,14 +159,14 @@ QDeclarativeCameraFocus::FocusMode QDeclarativeCameraFocus::focusMode() const } /*! - \qmlproperty list<FocusMode> CameraFocus::supportedFocusModes + \qmlproperty list<FocusMode> CameraFocus::supportedFocusMode This property holds the supported focus modes of the camera. \since 5.11 \sa focusMode */ -QVariantList QDeclarativeCameraFocus::supportedFocusModes() const +QVariantList QDeclarativeCameraFocus::supportedFocusMode() const { QVariantList supportedModes; @@ -186,7 +181,7 @@ QVariantList QDeclarativeCameraFocus::supportedFocusModes() const void QDeclarativeCameraFocus::setFocusMode(QDeclarativeCameraFocus::FocusMode mode) { if (mode != focusMode()) { - m_focus->setFocusMode(QCameraFocus::FocusModes(int(mode))); + m_focus->setFocusMode(QCameraFocus::FocusMode(int(mode))); emit focusModeChanged(focusMode()); } } |