GStreamer: fixed build when using GST_PHOTOGRAPHY.

CameraBinExposure was reimplementing the Qt4 version of
QCameraExposureControl instead of the refactored version of Qt5.
Zoom features were still handled in CameraBinFocus but these have been
moved to their own control in Qt5.

Task-number: QTBUG-29300

Change-Id: I0c71cac6011137bc5457f0d362da44c72039004a
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
This commit is contained in:
Yoann Lopes
2013-02-28 15:28:56 +01:00
committed by The Qt Project
parent 339fda0ca9
commit e747d4c0cd
12 changed files with 330 additions and 187 deletions

View File

@@ -48,8 +48,6 @@
#include <QtCore/qmetaobject.h>
//#define CAMERABIN_DEBUG 1
#define ZOOM_PROPERTY "zoom"
#define MAX_ZOOM_PROPERTY "max-zoom"
QT_BEGIN_NAMESPACE
@@ -68,55 +66,23 @@ CameraBinFocus::~CameraBinFocus()
{
}
QCameraFocus::FocusMode CameraBinFocus::focusMode() const
QCameraFocus::FocusModes CameraBinFocus::focusMode() const
{
return m_focusMode;
}
void CameraBinFocus::setFocusMode(QCameraFocus::FocusMode mode)
void CameraBinFocus::setFocusMode(QCameraFocus::FocusModes mode)
{
if (isFocusModeSupported(mode)) {
m_focusMode = mode;
}
}
bool CameraBinFocus::isFocusModeSupported(QCameraFocus::FocusMode mode) const
bool CameraBinFocus::isFocusModeSupported(QCameraFocus::FocusModes mode) const
{
return mode & QCameraFocus::AutoFocus;
}
qreal CameraBinFocus::maximumOpticalZoom() const
{
return 1.0;
}
qreal CameraBinFocus::maximumDigitalZoom() const
{
gfloat zoomFactor = 1.0;
g_object_get(GST_BIN(m_session->cameraBin()), MAX_ZOOM_PROPERTY, &zoomFactor, NULL);
return zoomFactor;
}
qreal CameraBinFocus::opticalZoom() const
{
return 1.0;
}
qreal CameraBinFocus::digitalZoom() const
{
gfloat zoomFactor = 1.0;
g_object_get(GST_BIN(m_session->cameraBin()), ZOOM_PROPERTY, &zoomFactor, NULL);
return zoomFactor;
}
void CameraBinFocus::zoomTo(qreal optical, qreal digital)
{
Q_UNUSED(optical);
digital = qBound(qreal(1.0), digital, maximumDigitalZoom());
g_object_set(GST_BIN(m_session->cameraBin()), ZOOM_PROPERTY, digital, NULL);
emit digitalZoomChanged(digital);
}
QCameraFocus::FocusPointMode CameraBinFocus::focusPointMode() const
{
return QCameraFocus::FocusPointAuto;