summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2014-06-20 10:56:59 +0200
committerYoann Lopes <yoann.lopes@digia.com>2014-06-30 14:48:08 +0200
commit99ce312731aad8fbf64a748b147a40dec342bc95 (patch)
tree2ce2b9d80a1d4aab7b94f0c8660b94f64071bf22
parentc46aa62c6596f67c0f47ce77d9334d78c61c1143 (diff)
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>
-rw-r--r--src/plugins/android/src/mediacapture/qandroidcamerafocuscontrol.cpp29
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();
}