Implement customFocusPoint in camerabin backend.

Send a regions-of-interest event containing a rectangle surrounding the
focus point to the camera source when the camera's focusPointMode
is QCameraFocus::CustomFocusPoint.  Reset the regions-of-interest if the
focusPointMode changes to any other value.

[ChangeLog][GStreamer] Implement customFocusPoint in camerabin backend.

Change-Id: If75405733b18d476dff5467abae3f08271caf06a
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
This commit is contained in:
Andrew den Exter
2014-02-10 13:25:39 +10:00
committed by Andrew den Exter
parent 6347605341
commit 4ba4f1a51d
4 changed files with 141 additions and 7 deletions

View File

@@ -82,15 +82,25 @@ public Q_SLOTS:
void _q_startFocusing();
void _q_stopFocusing();
void setViewfinderResolution(const QSize &resolution);
private Q_SLOTS:
void _q_setFocusStatus(QCamera::LockStatus status, QCamera::LockChangeReason reason);
void _q_handleCameraStateChange(QCamera::State state);
private:
void resetFocusPoint();
void updateRegionOfInterest(const QRectF &focusRect, int priority);
CameraBinSession *m_session;
QCamera::State m_cameraState;
QCameraFocus::FocusModes m_focusMode;
QCameraFocus::FocusPointMode m_focusPointMode;
QCamera::LockStatus m_focusStatus;
QCameraFocusZone::FocusZoneStatus m_focusZoneStatus;
QPointF m_focusPoint;
QRectF m_focusRect;
QSize m_viewfinderResolution;
};
QT_END_NAMESPACE