void QAndroidCameraFocusControl::onViewportSizeChanged() { QCameraFocusZone::FocusZoneStatus status = QCameraFocusZone::Selected; if (!m_focusZones.isEmpty()) status = m_focusZones.at(0).status(); updateFocusZones(status); setCameraFocusArea(); }
void QAndroidCameraFocusControl::setCustomFocusPoint(const QPointF &point) { if (m_customFocusPoint != point) { m_customFocusPoint = point; emit customFocusPointChanged(m_customFocusPoint); } if (m_session->camera() && m_focusPointMode == QCameraFocus::FocusPointCustom) { m_actualFocusPoint = m_customFocusPoint; updateFocusZones(); setCameraFocusArea(); } }
void QAndroidCameraFocusControl::setFocusPointMode(QCameraFocus::FocusPointMode mode) { if (!m_session->camera() || m_focusPointMode == mode || !isFocusPointModeSupported(mode)) return; m_focusPointMode = mode; if (mode == QCameraFocus::FocusPointCustom) { m_actualFocusPoint = m_customFocusPoint; } else { // FocusPointAuto | FocusPointCenter // note: there is no way to know the actual focus point in FocusPointAuto mode, // so just report the focus point to be at the center of the frame m_actualFocusPoint = QPointF(0.5, 0.5); } updateFocusZones(); setCameraFocusArea(); emit focusPointModeChanged(mode); }