Moved zoom related properties out of QCameraFocusControl

Change-Id: I16f9b80ebbacc0b325530e81c291dc030763b65e
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
Dmytro Poplavskiy
2012-01-24 10:56:52 +10:00
committed by Qt by Nokia
parent 817fb006c7
commit 155c48b97e
11 changed files with 539 additions and 187 deletions

View File

@@ -10,6 +10,7 @@ PUBLIC_HEADERS += \
controls/qcamerafeedbackcontrol.h \
controls/qcameraflashcontrol.h \
controls/qcamerafocuscontrol.h \
controls/qcamerazoomcontrol.h \
controls/qcameraimagecapturecontrol.h \
controls/qcameraimageprocessingcontrol.h \
controls/qcameralockscontrol.h \
@@ -41,6 +42,7 @@ SOURCES += \
controls/qcamerafeedbackcontrol.cpp \
controls/qcameraflashcontrol.cpp \
controls/qcamerafocuscontrol.cpp \
controls/qcamerazoomcontrol.cpp \
controls/qcameraimagecapturecontrol.cpp \
controls/qcameraimageprocessingcontrol.cpp \
controls/qcameralockscontrol.cpp \

View File

@@ -111,40 +111,6 @@ QCameraFocusControl::~QCameraFocusControl()
Returns true if focus \a mode is supported.
*/
/*!
\fn qreal QCameraFocusControl::maximumOpticalZoom() const
Returns the maximum optical zoom value, or 1.0 if optical zoom is not supported.
*/
/*!
\fn qreal QCameraFocusControl::maximumDigitalZoom() const
Returns the maximum digital zoom value, or 1.0 if digital zoom is not supported.
*/
/*!
\fn qreal QCameraFocusControl::opticalZoom() const
Return the current optical zoom value.
*/
/*!
\fn qreal QCameraFocusControl::digitalZoom() const
Return the current digital zoom value.
*/
/*!
\fn void QCameraFocusControl::zoomTo(qreal optical, qreal digital)
Sets \a optical and \a digital zoom values.
*/
/*!
\fn QCameraFocusControl::focusPointMode() const
@@ -190,34 +156,6 @@ QCameraFocusControl::~QCameraFocusControl()
Returns the list of zones, the camera is using for focusing or focused on.
*/
/*!
\fn void QCameraFocusControl::opticalZoomChanged(qreal zoom)
Signal emitted when the optical \a zoom value changed.
*/
/*!
\fn void QCameraFocusControl::digitalZoomChanged(qreal zoom)
Signal emitted when the digital \a zoom value changed.
*/
/*!
\fn void QCameraFocusControl::maximumOpticalZoomChanged(qreal zoom)
Signal emitted when the maximum supported optical \a zoom value changed.
*/
/*!
\fn void QCameraFocusControl::maximumDigitalZoomChanged(qreal zoom)
Signal emitted when the maximum supported digital \a zoom value changed.
The maximum supported zoom value can depend on other camera settings,
like capture mode or resolution.
*/
/*!
\fn QCameraFocusControl::focusZonesChanged()
@@ -228,6 +166,32 @@ QCameraFocusControl::~QCameraFocusControl()
\sa QCameraFocusControl::focusZones()
*/
/*!
\fn QCameraFocusControl::focusModeChanged
Signal is emitted when the focus mode is chaged,
usually in result of QCameraFocusControl::setFocusMode call or capture mode changes.
\sa QCameraFocusControl::focusMode QCameraFocusControl::setFocusMode
*/
/*!
\fn QCameraFocusControl::focusPointModeChanged
Signal is emitted when the focus point mode is chaged,
usually in result of QCameraFocusControl::setFocusPointMode call or capture mode changes.
\sa QCameraFocusControl::focusPointMode QCameraFocusControl::setFocusPointMode
*/
/*!
\fn QCameraFocusControl::customFocusPointChanged
Signal is emitted when the custom focus point is changed.
\sa QCameraFocusControl::customFocusPoint QCameraFocusControl::setCustomFocusPoint
*/
#include "moc_qcamerafocuscontrol.cpp"

View File

@@ -65,13 +65,6 @@ public:
virtual void setFocusMode(QCameraFocus::FocusMode mode) = 0;
virtual bool isFocusModeSupported(QCameraFocus::FocusMode mode) const = 0;
virtual qreal maximumOpticalZoom() const = 0;
virtual qreal maximumDigitalZoom() const = 0;
virtual qreal opticalZoom() const = 0;
virtual qreal digitalZoom() const = 0;
virtual void zoomTo(qreal optical, qreal digital) = 0;
virtual QCameraFocus::FocusPointMode focusPointMode() const = 0;
virtual void setFocusPointMode(QCameraFocus::FocusPointMode mode) = 0;
virtual bool isFocusPointModeSupported(QCameraFocus::FocusPointMode mode) const = 0;
@@ -81,17 +74,17 @@ public:
virtual QCameraFocusZoneList focusZones() const = 0;
Q_SIGNALS:
void opticalZoomChanged(qreal opticalZoom);
void digitalZoomChanged(qreal digitalZoom);
void focusModeChanged(QCameraFocus::FocusMode mode);
void focusPointModeChanged(QCameraFocus::FocusPointMode mode);
void customFocusPointChanged(const QPointF &point);
void focusZonesChanged();
void maximumOpticalZoomChanged(qreal);
void maximumDigitalZoomChanged(qreal);
protected:
QCameraFocusControl(QObject* parent = 0);
};
#define QCameraFocusControl_iid "com.nokia.Qt.QCameraFocusingControl/1.0"
#define QCameraFocusControl_iid "com.nokia.Qt.QCameraFocusControl/1.0"
Q_MEDIA_DECLARE_CONTROL(QCameraFocusControl, QCameraFocusControl_iid)
QT_END_NAMESPACE

View File

@@ -0,0 +1,189 @@
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: http://www.qt-project.org/
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <qcamerazoomcontrol.h>
#include "qmediacontrol_p.h"
QT_BEGIN_NAMESPACE
/*!
\class QCameraZoomControl
\brief The QCameraZoomControl class supplies control for
optical and digital camera zoom.
\inmodule QtMultimedia
\ingroup multimedia
\ingroup multimedia_control
The interface name of QCameraZoomControl is \c com.nokia.Qt.QCameraZoomControl/1.0 as
defined in QCameraZoomControl_iid.
\sa QMediaService::requestControl(), QCamera
*/
/*!
\macro QCameraZoomControl_iid
\c com.nokia.Qt.QCameraZoomControl/1.0
Defines the interface name of the QCameraZoomControl class.
\relates QCameraZoomControl
*/
/*!
Constructs a camera zoom control object with \a parent.
*/
QCameraZoomControl::QCameraZoomControl(QObject *parent):
QMediaControl(*new QMediaControlPrivate, parent)
{
}
/*!
Destruct the camera zoom control object.
*/
QCameraZoomControl::~QCameraZoomControl()
{
}
/*!
\fn qreal QCameraZoomControl::maximumOpticalZoom() const
Returns the maximum optical zoom value, or 1.0 if optical zoom is not supported.
*/
/*!
\fn qreal QCameraZoomControl::maximumDigitalZoom() const
Returns the maximum digital zoom value, or 1.0 if digital zoom is not supported.
*/
/*!
\fn qreal QCameraZoomControl::requestedOpticalZoom() const
Return the requested optical zoom value.
*/
/*!
\fn qreal QCameraZoomControl::requestedDigitalZoom() const
Return the requested digital zoom value.
*/
/*!
\fn qreal QCameraZoomControl::currentOpticalZoom() const
Return the current optical zoom value.
*/
/*!
\fn qreal QCameraZoomControl::currentDigitalZoom() const
Return the current digital zoom value.
*/
/*!
\fn void QCameraZoomControl::zoomTo(qreal optical, qreal digital)
Sets \a optical and \a digital zoom values.
Zooming can be asynchronous with value changes reported with
currentDigitalZoomChanged() and currentOpticalZoomChanged() signals.
The backend should expect and correctly handle frequent zoomTo() calls
during zoom animations or slider movements.
*/
/*!
\fn void QCameraZoomControl::currentOpticalZoomChanged(qreal zoom)
Signal emitted when the current optical \a zoom value changed.
*/
/*!
\fn void QCameraZoomControl::currentDigitalZoomChanged(qreal zoom)
Signal emitted when the current digital \a zoom value changed.
*/
/*!
\fn void QCameraZoomControl::requestedOpticalZoomChanged(qreal zoom)
Signal emitted when the requested optical \a zoom value changed.
*/
/*!
\fn void QCameraZoomControl::requestedDigitalZoomChanged(qreal zoom)
Signal emitted when the requested digital \a zoom value changed.
*/
/*!
\fn void QCameraZoomControl::maximumOpticalZoomChanged(qreal zoom)
Signal emitted when the maximum supported optical \a zoom value changed.
The maximum supported zoom value can depend on other camera settings,
like focusing mode.
*/
/*!
\fn void QCameraZoomControl::maximumDigitalZoomChanged(qreal zoom)
Signal emitted when the maximum supported digital \a zoom value changed.
The maximum supported zoom value can depend on other camera settings,
like capture mode or resolution.
*/
#include "moc_qcamerazoomcontrol.cpp"
QT_END_NAMESPACE

View File

@@ -0,0 +1,92 @@
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: http://www.qt-project.org/
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef QCAMERAZOOMCONTROL_H
#define QCAMERAZOOMCONTROL_H
#include <qmediacontrol.h>
#include <qmediaobject.h>
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Multimedia)
class Q_MULTIMEDIA_EXPORT QCameraZoomControl : public QMediaControl
{
Q_OBJECT
public:
~QCameraZoomControl();
virtual qreal maximumOpticalZoom() const = 0;
virtual qreal maximumDigitalZoom() const = 0;
virtual qreal requestedOpticalZoom() const = 0;
virtual qreal requestedDigitalZoom() const = 0;
virtual qreal currentOpticalZoom() const = 0;
virtual qreal currentDigitalZoom() const = 0;
virtual void zoomTo(qreal optical, qreal digital) = 0;
Q_SIGNALS:
void maximumOpticalZoomChanged(qreal);
void maximumDigitalZoomChanged(qreal);
void requestedOpticalZoomChanged(qreal opticalZoom);
void requestedDigitalZoomChanged(qreal digitalZoom);
void currentOpticalZoomChanged(qreal opticalZoom);
void currentDigitalZoomChanged(qreal digitalZoom);
protected:
QCameraZoomControl(QObject* parent = 0);
};
#define QCameraZoomControl_iid "com.nokia.Qt.QCameraZoomControl/1.0"
Q_MEDIA_DECLARE_CONTROL(QCameraZoomControl, QCameraZoomControl_iid)
QT_END_NAMESPACE
QT_END_HEADER
#endif // QCAMERAZOOMCONTROL_H