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:
committed by
Andrew den Exter
parent
be7fef656a
commit
25ad679c25
@@ -103,6 +103,9 @@ public:
|
||||
qmlRegisterUncreatableType<QDeclarativeCameraViewfinder>(uri, 5, 4, "CameraViewfinder",
|
||||
trUtf8("CameraViewfinder is provided by Camera"));
|
||||
|
||||
// 5.5 types
|
||||
qmlRegisterUncreatableType<QDeclarativeCameraImageProcessing, 1>(uri, 5, 5, "CameraImageProcessing", trUtf8("CameraImageProcessing is provided by Camera"));
|
||||
|
||||
qmlRegisterType<QDeclarativeMediaMetaData>();
|
||||
}
|
||||
|
||||
|
||||
@@ -219,6 +219,42 @@ void QDeclarativeCameraImageProcessing::setDenoisingLevel(qreal value)
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
\qmlproperty QtMultimedia::CameraImageProcessing::colorFilter
|
||||
|
||||
This property holds which color filter if any will be applied to image data captured by the camera.
|
||||
|
||||
It can be one of:
|
||||
|
||||
\table
|
||||
\row \li CameraImageProcessing.ColorFilterNone \li No filter is applied to images.
|
||||
\row \li CameraImageProcessing.ColorFilterGrayscale \li A grayscale filter.
|
||||
\row \li CameraImageProcessing.ColorFilterNegative \li A negative filter.
|
||||
\row \li CameraImageProcessing.ColorFilterSolarize \li A solarize filter.
|
||||
\row \li CameraImageProcessing.ColorFilterSepia \li A sepia filter.
|
||||
\row \li CameraImageProcessing.ColorFilterPosterize \li A posterize filter.
|
||||
\row \li CameraImageProcessing.ColorFilterWhiteboard \li A whiteboard filter.
|
||||
\row \li CameraImageProcessing.ColorFilterBlackboard \li A blackboard filter.
|
||||
\row \li CameraImageProcessing.ColorFilterAqua \li An aqua filter.
|
||||
\row \li CameraImageProcessing.ColorFilterVendor \li The base value for vendor defined filters.
|
||||
\endtable
|
||||
|
||||
\since 5.5
|
||||
*/
|
||||
|
||||
QDeclarativeCameraImageProcessing::ColorFilter QDeclarativeCameraImageProcessing::colorFilter() const
|
||||
{
|
||||
return ColorFilter(m_imageProcessing->colorFilter());
|
||||
}
|
||||
|
||||
void QDeclarativeCameraImageProcessing::setColorFilter(ColorFilter filter)
|
||||
{
|
||||
if (this->colorFilter() != filter) {
|
||||
m_imageProcessing->setColorFilter(QCameraImageProcessing::ColorFilter(filter));
|
||||
emit colorFilterChanged();
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
\qmlsignal QtMultimedia::Camera::whiteBalanceModeChanged(Camera::WhiteBalanceMode)
|
||||
This signal is emitted when the \c whiteBalanceMode property is changed.
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user