diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2015-11-12 14:56:26 +0300 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-11-23 16:45:59 +0000 |
commit | 38cfcc3b500627815ab12add27d7a3c392552ed1 (patch) | |
tree | 3cd82a389645e5ac234cc5f5f8a0d8b11bbb6a12 | |
parent | 0757ff1c4add6bd4f6499c04969760765662efa3 (diff) | |
download | qtmultimedia-38cfcc3b500627815ab12add27d7a3c392552ed1.tar.gz |
Add camera brightness adjustment API.
The brightness adjustment already exists in the control
API but not in the QCamera and QML Camera APIs.
Simply add the missing functions which call into
the control API.
Change-Id: I56a5aef3ae8bef9ca13c5a01d8282014f6e20830
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
4 files changed, 45 insertions, 0 deletions
diff --git a/src/imports/multimedia/qdeclarativecameraimageprocessing.cpp b/src/imports/multimedia/qdeclarativecameraimageprocessing.cpp index de5aee85b..f6fbe9fc4 100644 --- a/src/imports/multimedia/qdeclarativecameraimageprocessing.cpp +++ b/src/imports/multimedia/qdeclarativecameraimageprocessing.cpp @@ -138,6 +138,25 @@ void QDeclarativeCameraImageProcessing::setManualWhiteBalance(qreal colorTemp) c } /*! + \qmlproperty qreal QtMultimedia::CameraImageProcessing::brightness + + Image brightness adjustment. + Valid brightness adjustment values range between -1.0 and 1.0, with a default of 0. +*/ +qreal QDeclarativeCameraImageProcessing::brightness() const +{ + return m_imageProcessing->brightness(); +} + +void QDeclarativeCameraImageProcessing::setBrightness(qreal value) +{ + if (value != brightness()) { + m_imageProcessing->setBrightness(value); + emit brightnessChanged(brightness()); + } +} + +/*! \qmlproperty qreal QtMultimedia::CameraImageProcessing::contrast Image contrast adjustment. diff --git a/src/imports/multimedia/qdeclarativecameraimageprocessing_p.h b/src/imports/multimedia/qdeclarativecameraimageprocessing_p.h index 0e0cbb230..2e6c942ef 100644 --- a/src/imports/multimedia/qdeclarativecameraimageprocessing_p.h +++ b/src/imports/multimedia/qdeclarativecameraimageprocessing_p.h @@ -60,6 +60,7 @@ class QDeclarativeCameraImageProcessing : public QObject Q_PROPERTY(WhiteBalanceMode whiteBalanceMode READ whiteBalanceMode WRITE setWhiteBalanceMode NOTIFY whiteBalanceModeChanged) Q_PROPERTY(qreal manualWhiteBalance READ manualWhiteBalance WRITE setManualWhiteBalance NOTIFY manualWhiteBalanceChanged) + Q_PROPERTY(qreal brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged) Q_PROPERTY(qreal contrast READ contrast WRITE setContrast NOTIFY contrastChanged) Q_PROPERTY(qreal saturation READ saturation WRITE setSaturation NOTIFY saturationChanged) Q_PROPERTY(qreal sharpeningLevel READ sharpeningLevel WRITE setSharpeningLevel NOTIFY sharpeningLevelChanged) @@ -97,6 +98,7 @@ public: WhiteBalanceMode whiteBalanceMode() const; qreal manualWhiteBalance() const; + qreal brightness() const; qreal contrast() const; qreal saturation() const; qreal sharpeningLevel() const; @@ -108,6 +110,7 @@ public Q_SLOTS: void setWhiteBalanceMode(QDeclarativeCameraImageProcessing::WhiteBalanceMode mode) const; void setManualWhiteBalance(qreal colorTemp) const; + void setBrightness(qreal value); void setContrast(qreal value); void setSaturation(qreal value); void setSharpeningLevel(qreal value); @@ -119,6 +122,7 @@ Q_SIGNALS: void whiteBalanceModeChanged(QDeclarativeCameraImageProcessing::WhiteBalanceMode) const; void manualWhiteBalanceChanged(qreal) const; + void brightnessChanged(qreal); void contrastChanged(qreal); void saturationChanged(qreal); void sharpeningLevelChanged(qreal); diff --git a/src/multimedia/camera/qcameraimageprocessing.cpp b/src/multimedia/camera/qcameraimageprocessing.cpp index 4ce3759e4..f2fd73949 100644 --- a/src/multimedia/camera/qcameraimageprocessing.cpp +++ b/src/multimedia/camera/qcameraimageprocessing.cpp @@ -220,6 +220,25 @@ void QCameraImageProcessing::setManualWhiteBalance(qreal colorTemperature) } /*! + Returns the brightness adjustment setting. + */ +qreal QCameraImageProcessing::brightness() const +{ + return d_func()->imageControl->parameter(QCameraImageProcessingControl::BrightnessAdjustment).toReal(); +} + +/*! + Set the brightness adjustment to \a value. + + Valid brightness adjustment values range between -1.0 and 1.0, with a default of 0. + */ +void QCameraImageProcessing::setBrightness(qreal value) +{ + d_func()->imageControl->setParameter(QCameraImageProcessingControl::BrightnessAdjustment, + QVariant(value)); +} + +/*! Returns the contrast adjustment setting. */ qreal QCameraImageProcessing::contrast() const diff --git a/src/multimedia/camera/qcameraimageprocessing.h b/src/multimedia/camera/qcameraimageprocessing.h index 2247b33f7..77e28eab1 100644 --- a/src/multimedia/camera/qcameraimageprocessing.h +++ b/src/multimedia/camera/qcameraimageprocessing.h @@ -91,6 +91,9 @@ public: qreal manualWhiteBalance() const; void setManualWhiteBalance(qreal colorTemperature); + qreal brightness() const; + void setBrightness(qreal value); + qreal contrast() const; void setContrast(qreal value); |