Add a color filter property to QCameraImageProcessing.

[ChangeLog] New color filter property for QCameraImageProcessing.

Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
This commit is contained in:
Andrew den Exter
2014-07-09 13:38:25 +10:00
committed by Andrew den Exter
parent be7fef656a
commit 25ad679c25
9 changed files with 212 additions and 7 deletions

View File

@@ -56,6 +56,7 @@ class QDeclarativeCameraImageProcessing : public QObject
{
Q_OBJECT
Q_ENUMS(WhiteBalanceMode)
Q_ENUMS(ColorFilter)
Q_PROPERTY(WhiteBalanceMode whiteBalanceMode READ whiteBalanceMode WRITE setWhiteBalanceMode NOTIFY whiteBalanceModeChanged)
Q_PROPERTY(qreal manualWhiteBalance READ manualWhiteBalance WRITE setManualWhiteBalance NOTIFY manualWhiteBalanceChanged)
@@ -63,7 +64,7 @@ class QDeclarativeCameraImageProcessing : public QObject
Q_PROPERTY(qreal saturation READ saturation WRITE setSaturation NOTIFY saturationChanged)
Q_PROPERTY(qreal sharpeningLevel READ sharpeningLevel WRITE setSharpeningLevel NOTIFY sharpeningLevelChanged)
Q_PROPERTY(qreal denoisingLevel READ denoisingLevel WRITE setDenoisingLevel NOTIFY denoisingLevelChanged)
Q_PROPERTY(ColorFilter colorFilter READ colorFilter WRITE setColorFilter NOTIFY colorFilterChanged REVISION 1)
public:
enum WhiteBalanceMode {
WhiteBalanceAuto = QCameraImageProcessing::WhiteBalanceAuto,
@@ -78,6 +79,19 @@ public:
WhiteBalanceVendor = QCameraImageProcessing::WhiteBalanceVendor
};
enum ColorFilter {
ColorFilterNone = QCameraImageProcessing::ColorFilterNone,
ColorFilterGrayscale = QCameraImageProcessing::ColorFilterGrayscale,
ColorFilterNegative = QCameraImageProcessing::ColorFilterNegative,
ColorFilterSolarize = QCameraImageProcessing::ColorFilterSolarize,
ColorFilterSepia = QCameraImageProcessing::ColorFilterSepia,
ColorFilterPosterize = QCameraImageProcessing::ColorFilterPosterize,
ColorFilterWhiteboard = QCameraImageProcessing::ColorFilterWhiteboard,
ColorFilterBlackboard = QCameraImageProcessing::ColorFilterBlackboard,
ColorFilterAqua = QCameraImageProcessing::ColorFilterAqua,
ColorFilterVendor = QCameraImageProcessing::ColorFilterVendor
};
~QDeclarativeCameraImageProcessing();
WhiteBalanceMode whiteBalanceMode() const;
@@ -88,6 +102,8 @@ public:
qreal sharpeningLevel() const;
qreal denoisingLevel() const;
ColorFilter colorFilter() const;
public Q_SLOTS:
void setWhiteBalanceMode(QDeclarativeCameraImageProcessing::WhiteBalanceMode mode) const;
void setManualWhiteBalance(qreal colorTemp) const;
@@ -97,6 +113,8 @@ public Q_SLOTS:
void setSharpeningLevel(qreal value);
void setDenoisingLevel(qreal value);
void setColorFilter(ColorFilter colorFilter);
Q_SIGNALS:
void whiteBalanceModeChanged(QDeclarativeCameraImageProcessing::WhiteBalanceMode) const;
void manualWhiteBalanceChanged(qreal) const;
@@ -106,6 +124,8 @@ Q_SIGNALS:
void sharpeningLevelChanged(qreal);
void denoisingLevelChanged(qreal);
void colorFilterChanged();
private:
friend class QDeclarativeCamera;
QDeclarativeCameraImageProcessing(QCamera *camera, QObject *parent = 0);