diff options
Diffstat (limited to 'src/datavisualizationqml/colorgradient.cpp')
-rw-r--r-- | src/datavisualizationqml/colorgradient.cpp | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/datavisualizationqml/colorgradient.cpp b/src/datavisualizationqml/colorgradient.cpp new file mode 100644 index 00000000..c00c43aa --- /dev/null +++ b/src/datavisualizationqml/colorgradient.cpp @@ -0,0 +1,62 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include "colorgradient_p.h" + +QT_BEGIN_NAMESPACE + +ColorGradientStop::ColorGradientStop(QObject *parent) + : QObject(parent) +{ +} + +qreal ColorGradientStop::position() const +{ + return m_position; +} + +void ColorGradientStop::setPosition(qreal position) +{ + m_position = position; + updateGradient(); + emit positionChanged(position); +} + +QColor ColorGradientStop::color() const +{ + return m_color; +} + +void ColorGradientStop::setColor(const QColor &color) +{ + m_color = color; + updateGradient(); + emit colorChanged(color); +} + +void ColorGradientStop::updateGradient() +{ + if (ColorGradient *grad = qobject_cast<ColorGradient*>(parent())) + grad->doUpdate(); +} + +ColorGradient::ColorGradient(QObject *parent) +: QObject(parent) +{ +} + +ColorGradient::~ColorGradient() +{ +} + +QQmlListProperty<ColorGradientStop> ColorGradient::stops() +{ + return QQmlListProperty<ColorGradientStop>(this, &m_stops); +} + +void ColorGradient::doUpdate() +{ + emit updated(); +} + +QT_END_NAMESPACE |