diff options
Diffstat (limited to 'src/imports/multimedia/qdeclarativecamerafocus.cpp')
-rw-r--r-- | src/imports/multimedia/qdeclarativecamerafocus.cpp | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/src/imports/multimedia/qdeclarativecamerafocus.cpp b/src/imports/multimedia/qdeclarativecamerafocus.cpp deleted file mode 100644 index 03460bf..0000000 --- a/src/imports/multimedia/qdeclarativecamerafocus.cpp +++ /dev/null @@ -1,259 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the plugins 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 "qdeclarativecamera_p.h" -#include "qdeclarativecamerafocus_p.h" - -QT_BEGIN_NAMESPACE - -/*! - \qmlclass CameraFocus QDeclarativeCameraFocus - \since 4.0 - \brief The CameraFocus element provides interface for focus related camera settings. - \ingroup qml-multimedia - - This element is part of the \bold{QtMultimedia 4.0} module. - - It should not be constructed separately but provided by Camera.focus. - - \qml - import QtQuick 2.0 - import QtMultimedia 4.0 - - Camera { - id: camera - - focus { - focusMode: Camera.FocusMacro - focusPointMode: Camera.FocusPointCustom - customFocusPoint: Qt.point(0.2, 0.2) //focus to top-left corner - } - } - - \endqml -*/ - -/*! - \class QDeclarativeCameraFocus - \brief The CameraFocus element provides interface for focus related camera settings. -*/ - -/*! - Construct a declarative camera focus object using \a parent object. - */ - -QDeclarativeCameraFocus::QDeclarativeCameraFocus(QCamera *camera, QObject *parent) : - QObject(parent) -{ - m_focus = camera->focus(); - m_focusZones = new FocusZonesModel(this); - - updateFocusZones(); - - connect(m_focus, SIGNAL(focusZonesChanged()), SLOT(updateFocusZones())); -} - -QDeclarativeCameraFocus::~QDeclarativeCameraFocus() -{ -} - - -/*! - \qmlproperty Camera::FocusModes CameraFocus::focusMode - \property QDeclarativeCameraFocus::focusMode - - The current camera focus mode. - - It's possible to combine multiple Camera::FocusMode values, - for example Camera.FocusMacro + Camera.FocusContinuous. -*/ -QDeclarativeCamera::FocusModes QDeclarativeCameraFocus::focusMode() const -{ - return QDeclarativeCamera::FocusModes(m_focus->focusMode()); -} - -bool QDeclarativeCameraFocus::isFocusModeSupported(QDeclarativeCamera::FocusModes mode) const -{ - return m_focus->isFocusModeSupported(QCameraFocus::FocusMode(int(mode))); -} - -void QDeclarativeCameraFocus::setFocusMode(QDeclarativeCamera::FocusModes mode) -{ - m_focus->setFocusMode(QCameraFocus::FocusMode(int(mode))); -} - -/*! - \qmlproperty CameraFocus::FocusPointMode CameraFocus::focusPointMode - \property QDeclarativeCameraFocus::focusPointMode - - The current camera focus point mode. -*/ -QDeclarativeCamera::FocusPointMode QDeclarativeCameraFocus::focusPointMode() const -{ - return QDeclarativeCamera::FocusPointMode(m_focus->focusPointMode()); -} - -void QDeclarativeCameraFocus::setFocusPointMode(QDeclarativeCamera::FocusPointMode mode) -{ - if (mode != focusPointMode()) { - m_focus->setFocusPointMode(QCameraFocus::FocusPointMode(mode)); - emit focusPointModeChanged(focusPointMode()); - } -} - -bool QDeclarativeCameraFocus::isFocusPointModeSupported(QDeclarativeCamera::FocusPointMode mode) const -{ - return m_focus->isFocusPointModeSupported(QCameraFocus::FocusPointMode(mode)); -} - -/*! - \qmlproperty QPointF CameraFocus::customFocusPoint - \property QDeclarativeCameraFocus::customFocusPoint - - Position of custom focus point, in relative frame coordinates: - QPointF(0,0) points to the left top frame point, QPointF(0.5,0.5) points to the frame center. - - Custom focus point is used only in FocusPointCustom focus mode. -*/ - -QPointF QDeclarativeCameraFocus::customFocusPoint() const -{ - return m_focus->customFocusPoint(); -} - -void QDeclarativeCameraFocus::setCustomFocusPoint(const QPointF &point) -{ - if (point != customFocusPoint()) { - m_focus->setCustomFocusPoint(point); - emit customFocusPointChanged(customFocusPoint()); - } -} - -/*! - \qmlproperty QPointF CameraFocus::focusZones - \property QDeclarativeCameraFocus::focusZones - - List of current camera focus zones, - each including area specified in the same coordinates as \l customFocusPoint - and zone status. - - \qml - - VideoOutput { - id: viewfinder - source: camera - - //display focus areas on camera viewfinder: - Repeater { - model: camera.focus.focusZones - - Rectangle { - border { - width: 2 - color: status == CameraFocus.Focused ? "green" : "white" - } - color: "transparent" - - x: area.x * viewfinder.width - y: area.y * viewfinder.height - width: area.width * viewfinder.width - height: area.height * viewfinder.height - } - } - } - \endqml -*/ - -QAbstractListModel *QDeclarativeCameraFocus::focusZones() const -{ - return m_focusZones; -} - -/*! \internal */ -void QDeclarativeCameraFocus::updateFocusZones() -{ - m_focusZones->setFocusZones(m_focus->focusZones()); -} - - -FocusZonesModel::FocusZonesModel(QObject *parent) - :QAbstractListModel(parent) -{ - QHash<int, QByteArray> roles; - roles[StatusRole] = "status"; - roles[AreaRole] = "area"; - setRoleNames(roles); -} - -int FocusZonesModel::rowCount(const QModelIndex &parent) const -{ - if (parent == QModelIndex()) - return m_focusZones.count(); - - return 0; -} - -QVariant FocusZonesModel::data(const QModelIndex &index, int role) const -{ - if (index.row() < 0 || index.row() > m_focusZones.count()) - return QVariant(); - - QCameraFocusZone zone = m_focusZones.value(index.row()); - - if (role == StatusRole) - return zone.status(); - - if (role == AreaRole) - return zone.area(); - - return QVariant(); -} - -void FocusZonesModel::setFocusZones(const QCameraFocusZoneList &zones) -{ - beginResetModel(); - m_focusZones = zones; - endResetModel(); -} - -QT_END_NAMESPACE - -#include "moc_qdeclarativecamerafocus_p.cpp" |