diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2014-06-20 10:56:59 +0200 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@digia.com> | 2014-06-30 14:48:08 +0200 |
commit | 99ce312731aad8fbf64a748b147a40dec342bc95 (patch) | |
tree | 2ce2b9d80a1d4aab7b94f0c8660b94f64071bf22 /src | |
parent | c46aa62c6596f67c0f47ce77d9334d78c61c1143 (diff) | |
download | qtmultimedia-99ce312731aad8fbf64a748b147a40dec342bc95.tar.gz |
Android: correctly update camera focus zones.
When setting a null custom focus point, we were correctly resetting
the focus zones but we were not emitting the focusZonesChanged signal,
causing the QML Camera to not update its focus zones.
Change-Id: I59940c4cd2979fa08dc26566dc0f6d19e503f64f
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/android/src/mediacapture/qandroidcamerafocuscontrol.cpp | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/src/plugins/android/src/mediacapture/qandroidcamerafocuscontrol.cpp b/src/plugins/android/src/mediacapture/qandroidcamerafocuscontrol.cpp index 0b6ab80fc..c4e0ea1a8 100644 --- a/src/plugins/android/src/mediacapture/qandroidcamerafocuscontrol.cpp +++ b/src/plugins/android/src/mediacapture/qandroidcamerafocuscontrol.cpp @@ -234,25 +234,24 @@ void QAndroidCameraFocusControl::updateFocusZones(QCameraFocusZone::FocusZoneSta // create a focus zone (50x50 pixel) around the focus point m_focusZones.clear(); - if (m_actualFocusPoint.isNull()) - return; - - QSize viewportSize = m_session->camera()->previewSize(); + if (!m_actualFocusPoint.isNull()) { + QSize viewportSize = m_session->camera()->previewSize(); - if (!viewportSize.isValid()) - return; + if (!viewportSize.isValid()) + return; - QSizeF focusSize(50.f / viewportSize.width(), 50.f / viewportSize.height()); - float x = qBound(qreal(0), - m_actualFocusPoint.x() - (focusSize.width() / 2), - 1.f - focusSize.width()); - float y = qBound(qreal(0), - m_actualFocusPoint.y() - (focusSize.height() / 2), - 1.f - focusSize.height()); + QSizeF focusSize(50.f / viewportSize.width(), 50.f / viewportSize.height()); + float x = qBound(qreal(0), + m_actualFocusPoint.x() - (focusSize.width() / 2), + 1.f - focusSize.width()); + float y = qBound(qreal(0), + m_actualFocusPoint.y() - (focusSize.height() / 2), + 1.f - focusSize.height()); - QRectF area(QPointF(x, y), focusSize); + QRectF area(QPointF(x, y), focusSize); - m_focusZones.append(QCameraFocusZone(area, status)); + m_focusZones.append(QCameraFocusZone(area, status)); + } emit focusZonesChanged(); } |