| /**************************************************************************** |
| ** |
| ** Copyright (C) 2016 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:LGPL$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** GNU Lesser General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU Lesser |
| ** General Public License version 3 as published by the Free Software |
| ** Foundation and appearing in the file LICENSE.LGPL3 included in the |
| ** packaging of this file. Please review the following information to |
| ** ensure the GNU Lesser General Public License version 3 requirements |
| ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. |
| ** |
| ** GNU General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU |
| ** General Public License version 2.0 or (at your option) the GNU General |
| ** Public license version 3 or any later version approved by the KDE Free |
| ** Qt Foundation. The licenses are as published by the Free Software |
| ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 |
| ** included in the packaging of this file. Please review the following |
| ** information to ensure the GNU General Public License requirements will |
| ** be met: https://www.gnu.org/licenses/gpl-2.0.html and |
| ** https://www.gnu.org/licenses/gpl-3.0.html. |
| ** |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| #include "qcameraviewfindersettingscontrol.h" |
| #include "qmediacontrol_p.h" |
| |
| QT_BEGIN_NAMESPACE |
| |
| /*! |
| \class QCameraViewfinderSettingsControl |
| \inmodule QtMultimedia |
| |
| |
| \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. |
| |
| \warning New backends should implement QCameraViewfinderSettingsControl2 instead. |
| Application developers should request this control only if QCameraViewfinderSettingsControl2 |
| is not available. |
| |
| \sa QMediaService::requestControl(), QCameraViewfinderSettingsControl2, QCamera |
| */ |
| |
| /*! |
| \macro QCameraViewfinderSettingsControl_iid |
| |
| \c org.qt-project.qt.cameraviewfindersettingscontrol/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 should be used. |
| */ |
| |
| /*! |
| \fn bool QCameraViewfinderSettingsControl::isViewfinderParameterSupported(ViewfinderParameter parameter) const |
| |
| 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. |
| */ |
| |
| |
| /*! |
| \class QCameraViewfinderSettingsControl2 |
| \inmodule QtMultimedia |
| \ingroup multimedia_control |
| \since 5.5 |
| |
| \brief The QCameraViewfinderSettingsControl2 class provides access to the viewfinder settings |
| of a camera media service. |
| |
| The functionality provided by this control is exposed to application code through the QCamera class. |
| |
| The interface name of QCameraViewfinderSettingsControl2 is \c org.qt-project.qt.cameraviewfindersettingscontrol2/5.5 as |
| defined in QCameraViewfinderSettingsControl2_iid. |
| |
| \sa QMediaService::requestControl(), QCameraViewfinderSettings, QCamera |
| */ |
| |
| /*! |
| \macro QCameraViewfinderSettingsControl2_iid |
| |
| \c org.qt-project.qt.cameraviewfindersettingscontrol2/5.5 |
| |
| Defines the interface name of the QCameraViewfinderSettingsControl2 class. |
| |
| \relates QCameraViewfinderSettingsControl2 |
| */ |
| |
| /*! |
| Constructs a camera viewfinder settings control object with \a parent. |
| */ |
| QCameraViewfinderSettingsControl2::QCameraViewfinderSettingsControl2(QObject *parent) |
| : QMediaControl(*new QMediaControlPrivate, parent) |
| { |
| } |
| |
| /*! |
| Destroys the camera viewfinder settings control object. |
| */ |
| QCameraViewfinderSettingsControl2::~QCameraViewfinderSettingsControl2() |
| { |
| } |
| |
| /*! |
| \fn QCameraViewfinderSettingsControl2::supportedViewfinderSettings() const |
| |
| Returns a list of supported camera viewfinder settings. |
| |
| The list is ordered by preference; preferred settings come first. |
| */ |
| |
| /*! |
| \fn QCameraViewfinderSettingsControl2::viewfinderSettings() const |
| |
| Returns the viewfinder settings. |
| |
| If undefined or unsupported values are passed to QCameraViewfinderSettingsControl2::setViewfinderSettings(), |
| this function returns the actual settings used by the camera viewfinder. These may be available |
| only once the camera is active. |
| */ |
| |
| /*! |
| \fn QCameraViewfinderSettingsControl2::setViewfinderSettings(const QCameraViewfinderSettings &settings) |
| |
| Sets the camera viewfinder \a settings. |
| */ |
| |
| QT_END_NAMESPACE |
| |
| #include "moc_qcameraviewfindersettingscontrol.cpp" |