summaryrefslogtreecommitdiffstats
path: root/src/multimedia/controls/qcameraviewfindersettingscontrol.cpp
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2012-05-18 14:38:54 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-22 03:42:05 +0200
commitb51e1bfa66dccfe48e924257b86828c46dd0d867 (patch)
tree01eb83d6db360a6b2230c888a4b926cee4285f5e /src/multimedia/controls/qcameraviewfindersettingscontrol.cpp
parentf11c5c83a06b938618f96d16040512ff9f8ccb9f (diff)
Replaced camera viewfinder resolution control with settings control
It allows to specify a number of camera fiewfinder parameters including frame rate, resolution and pixel format. It also allows to extend the list of parameters without breaking source or binary compatibility. Change-Id: Ibea85a968ab7ee7b8d1ae34c7fcbac8f5586f53f Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Diffstat (limited to 'src/multimedia/controls/qcameraviewfindersettingscontrol.cpp')
-rw-r--r--src/multimedia/controls/qcameraviewfindersettingscontrol.cpp136
1 files changed, 136 insertions, 0 deletions
diff --git a/src/multimedia/controls/qcameraviewfindersettingscontrol.cpp b/src/multimedia/controls/qcameraviewfindersettingscontrol.cpp
new file mode 100644
index 000000000..8c90d3dda
--- /dev/null
+++ b/src/multimedia/controls/qcameraviewfindersettingscontrol.cpp
@@ -0,0 +1,136 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** 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 "qcameraviewfindersettingscontrol.h"
+#include "qmediacontrol_p.h"
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \class QCameraViewfinderSettingsControl
+ \inmodule QtMultimedia
+
+ \ingroup multimedia
+ \ingroup multimedia_control
+
+
+ \brief The QCameraViewfinderSettingsControl class provides an abstract class
+ for controlling camera viewfinder parameters.
+
+ The interface name of QCameraViewfinderSettingsControl is \c org.qt-project.qt.cameraviewfindersettingscontrol/5.0 as
+ defined in QCameraViewfinderSettingsControl_iid.
+
+ \sa QMediaService::requestControl(), QCamera
+*/
+
+/*!
+ \macro QCameraViewfinderSettingsControl_iid
+
+ \c org.qt-project.qt.cameraviewfinderresettingscontrol/5.0
+
+ Defines the interface name of the QCameraViewfinderSettingsControl class.
+
+ \relates QCameraViewfinderSettingsControl
+*/
+
+/*!
+ Constructs a camera viewfinder control object with \a parent.
+*/
+QCameraViewfinderSettingsControl::QCameraViewfinderSettingsControl(QObject *parent)
+ : QMediaControl(*new QMediaControlPrivate, parent)
+{
+}
+
+/*!
+ Destroys the camera viewfinder control object.
+*/
+QCameraViewfinderSettingsControl::~QCameraViewfinderSettingsControl()
+{
+}
+
+/*!
+ \enum QCameraViewfinderSettingsControl::ViewfinderParameter
+ \value Resolution
+ Viewfinder resolution, QSize.
+ \value PixelAspectRatio
+ Pixel aspect ratio, QSize as in QVideoSurfaceFormat::pixelAspectRatio
+ \value MinimumFrameRate
+ Minimum viewfinder frame rate, qreal
+ \value MaximumFrameRate
+ Maximum viewfinder frame rate, qreal
+ \value PixelFormat
+ Viewfinder pixel format, QVideoFrame::PixelFormat
+ \value UserParameter
+ The base value for platform specific extended parameters.
+ For such parameters the sequential values starting from UserParameter shuld be used.
+*/
+
+/*!
+ \fn QCameraViewfinderSettingsControl::isViewfinderParameterSupported(ViewfinderParameter parameter)
+
+ Returns true if configuration of viewfinder \a parameter is supported by camera backend.
+*/
+
+/*!
+ \fn QCameraViewfinderSettingsControl::viewfinderParameter(ViewfinderParameter parameter) const
+
+ Returns the value of viewfinder \a parameter.
+*/
+
+/*!
+ \fn QCameraViewfinderSettingsControl::setViewfinderParameter(ViewfinderParameter parameter, const QVariant &value)
+
+ Set the prefferred \a value of viewfinder \a parameter.
+
+ Calling this while the camera is active may result in the camera being
+ stopped and reloaded. If video recording is in progress, this call may be ignored.
+
+ If an unsupported parameter is specified the camera may fail to load,
+ or the setting may be ignored.
+
+ Viewfinder parameters may also depend on other camera settings,
+ especially in video capture mode. If camera configuration conflicts
+ with viewfinder settings, the camara configuration is usually preferred.
+*/
+
+#include "moc_qcameraviewfindersettingscontrol.cpp"
+QT_END_NAMESPACE
+