Add a viewfinder resolution control for camera.

For attempting to set the resolution.

Change-Id: I9f3b189b90fee95bf6430e9a74a6599ebcc38697
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
This commit is contained in:
Michael Goddard
2012-01-27 14:10:35 +10:00
committed by Qt by Nokia
parent 88431b2841
commit 817fb006c7
3 changed files with 187 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ PUBLIC_HEADERS += \
controls/qcameraimagecapturecontrol.h \
controls/qcameraimageprocessingcontrol.h \
controls/qcameralockscontrol.h \
controls/qcameraviewfinderresolutioncontrol.h \
controls/qimageencodercontrol.h \
controls/qmediabackgroundplaybackcontrol.h \
controls/qmediacontainercontrol.h \
@@ -43,6 +44,7 @@ SOURCES += \
controls/qcameraimagecapturecontrol.cpp \
controls/qcameraimageprocessingcontrol.cpp \
controls/qcameralockscontrol.cpp \
controls/qcameraviewfinderresolutioncontrol.cpp \
controls/qimageencodercontrol.cpp \
controls/qmediabackgroundplaybackcontrol.cpp \
controls/qmediacontainercontrol.cpp \

View File

@@ -0,0 +1,109 @@
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** 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 "qcameraviewfinderresolutioncontrol.h"
#include "qmediacontrol_p.h"
QT_BEGIN_NAMESPACE
/*!
\class QCameraViewfinderResolutionControl
\inmodule QtMultimedia
\ingroup multimedia
\ingroup multimedia_control
\brief The QCameraViewfinderResolutionControl class provides an abstract class
for controlling camera viewfinder parameters.
The interface name of QCameraViewfinderResolutionControl is \c com.nokia.Qt.QCameraViewfinderResolutionControl/1.0 as
defined in QCameraViewfinderResolutionControl_iid.
\sa QMediaService::requestControl(), QCamera
*/
/*!
\macro QCameraViewfinderResolutionControl_iid
\c com.nokia.Qt.QCameraViewfinderResolutionControl/1.0
Defines the interface name of the QCameraViewfinderResolutionControl class.
\relates QCameraViewfinderResolutionControl
*/
/*!
Constructs a camera viewfinder control object with \a parent.
*/
QCameraViewfinderResolutionControl::QCameraViewfinderResolutionControl(QObject *parent)
: QMediaControl(*new QMediaControlPrivate, parent)
{
}
/*!
Destroys the camera viewfinder control object.
*/
QCameraViewfinderResolutionControl::~QCameraViewfinderResolutionControl()
{
}
/*!
\fn QCameraViewfinderResolutionControl::viewfinderResolution() const
Returns the current resolution of the camera viewfinder stream.
*/
/*!
\fn QCameraViewfinderResolutionControl::setViewfinderResolution(const QSize &resolution)
Set the resolution of the camera viewfinder stream to \a resolution.
Calling this while the camera is active may result in the camera being unloaded and
reloaded. If video recording is in progress, this call may be ignored. If an unsupported
resolution is specified the camera may fail to load, or the setting may be ignored.
Returns false if this setting cannot be applied at this time or if the resolution is
invalid. Returns true if the setting will be applied (or attempted to be applied).
*/
#include "moc_qcameraviewfinderresolutioncontrol.cpp"
QT_END_NAMESPACE

View File

@@ -0,0 +1,76 @@
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** 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 QCAMERAVIEWFINDERRESOLUTIONCONTROL_H
#define QCAMERAVIEWFINDERRESOLUTIONCONTROL_H
#include <qmediacontrol.h>
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Multimedia)
class Q_MULTIMEDIA_EXPORT QCameraViewfinderResolutionControl : public QMediaControl
{
Q_OBJECT
public:
~QCameraViewfinderResolutionControl();
virtual QSize viewfinderResolution() const = 0;
virtual bool setViewfinderResolution(const QSize &resolution) = 0;
protected:
QCameraViewfinderResolutionControl(QObject *parent = 0);
};
#define QCameraViewfinderResolutionControl_iid "com.nokia.Qt.QCameraViewfinderControl/1.0"
Q_MEDIA_DECLARE_CONTROL(QCameraViewfinderResolutionControl, QCameraViewfinderResolutionControl_iid)
QT_END_NAMESPACE
QT_END_HEADER
#endif // QCAMERAVIEWFINDERRESOLUTIONCONTROL_H