From 6b67a11032779ff3a7a78a57e8d2bb2cd8b7e525 Mon Sep 17 00:00:00 2001 From: Michael Goddard Date: Fri, 6 Jan 2012 15:21:38 +1000 Subject: Add the spot for spot metering mode. Not yet fully documented in QML - needs a bit of an overhaul first. Change-Id: Ic11684858fb872d0b4dcedf60b390571371db252 Reviewed-by: Dmytro Poplavskiy --- .../multimedia/qdeclarativecameraexposure.cpp | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/imports/multimedia/qdeclarativecameraexposure.cpp') diff --git a/src/imports/multimedia/qdeclarativecameraexposure.cpp b/src/imports/multimedia/qdeclarativecameraexposure.cpp index 5eca87ca9..79d939e83 100644 --- a/src/imports/multimedia/qdeclarativecameraexposure.cpp +++ b/src/imports/multimedia/qdeclarativecameraexposure.cpp @@ -253,7 +253,41 @@ void QDeclarativeCameraExposure::setExposureMode(QDeclarativeCamera::ExposureMod \fn void QDeclarativeCameraExposure::exposureModeChanged(QDeclarativeCamera::ExposureMode) */ +/*! + \qmlproperty QPointF CameraExposure::spotMeteringPoint + \property QDeclarativeCameraExposure::spotMeteringPoint + + The relative frame coordinates of the point to use for exposure metering (in relative + frame coordinates). This point is only used in spot metering mode, and typically defaults + to the center \c (0.5, 0.5). + */ + +QPointF QDeclarativeCameraExposure::spotMeteringPoint() const +{ + return m_exposure->spotMeteringPoint(); +} + +void QDeclarativeCameraExposure::setSpotMeteringPoint(const QPointF &point) +{ + QPointF oldPoint(spotMeteringPoint()); + m_exposure->setSpotMeteringPoint(point); + if (oldPoint != spotMeteringPoint()) + emit spotMeteringPointChanged(spotMeteringPoint()); +} + +QDeclarativeCamera::MeteringMode QDeclarativeCameraExposure::meteringMode() const +{ + return QDeclarativeCamera::MeteringMode(m_exposure->meteringMode()); +} + +void QDeclarativeCameraExposure::setMeteringMode(QDeclarativeCamera::MeteringMode mode) +{ + QDeclarativeCamera::MeteringMode oldMode = meteringMode(); + m_exposure->setMeteringMode(QCameraExposure::MeteringMode(mode)); + if (oldMode != meteringMode()) + emit meteringModeChanged(meteringMode()); +} QT_END_NAMESPACE -- cgit v1.2.3