summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2012-01-27 14:10:35 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-27 07:35:12 +0100
commit817fb006c7583a852ca07df004994d1a5226d162 (patch)
tree8e2a101db6083aaf481243fedfa37373fc594523
parent88431b2841b5c6a13c360aae402847409953c867 (diff)
Add a viewfinder resolution control for camera.
For attempting to set the resolution. Change-Id: I9f3b189b90fee95bf6430e9a74a6599ebcc38697 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
-rw-r--r--src/multimedia/controls/controls.pri2
-rw-r--r--src/multimedia/controls/qcameraviewfinderresolutioncontrol.cpp109
-rw-r--r--src/multimedia/controls/qcameraviewfinderresolutioncontrol.h76
3 files changed, 187 insertions, 0 deletions
diff --git a/src/multimedia/controls/controls.pri b/src/multimedia/controls/controls.pri
index 5f7bcbb3c..050b5c374 100644
--- a/src/multimedia/controls/controls.pri
+++ b/src/multimedia/controls/controls.pri
@@ -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 \
diff --git a/src/multimedia/controls/qcameraviewfinderresolutioncontrol.cpp b/src/multimedia/controls/qcameraviewfinderresolutioncontrol.cpp
new file mode 100644
index 000000000..c739afb52
--- /dev/null
+++ b/src/multimedia/controls/qcameraviewfinderresolutioncontrol.cpp
@@ -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
+
diff --git a/src/multimedia/controls/qcameraviewfinderresolutioncontrol.h b/src/multimedia/controls/qcameraviewfinderresolutioncontrol.h
new file mode 100644
index 000000000..101161d8e
--- /dev/null
+++ b/src/multimedia/controls/qcameraviewfinderresolutioncontrol.h
@@ -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