diff options
| -rw-r--r-- | src/adaptationlayers/default/default_rectanglenode.cpp | 13 | ||||
| -rw-r--r-- | tests/gradients.qml | 15 |
2 files changed, 21 insertions, 7 deletions
diff --git a/src/adaptationlayers/default/default_rectanglenode.cpp b/src/adaptationlayers/default/default_rectanglenode.cpp index b6d5f26..a36433f 100644 --- a/src/adaptationlayers/default/default_rectanglenode.cpp +++ b/src/adaptationlayers/default/default_rectanglenode.cpp @@ -282,13 +282,12 @@ void DefaultRectangleNode::updateGeometry() // Calculate from where in the texture to sample gradient colours. qreal gradientSourceX0 = 0, gradientSourceDX = 0, gradientSourceY = 0; - // ### gunnar: port properly... -// if (m_gradient_texture) { -// QRectF src = m_gradient_texture->sourceRect(); -// gradientSourceY = qreal(0.5) * (src.top() + src.bottom()); -// gradientSourceDX = src.width() / stops.size(); -// gradientSourceX0 = src.left() + qreal(0.5) * gradientSourceDX; -// } + if (m_gradient_texture.isReady()) { + QRectF src = m_gradient_texture.subRect(); + gradientSourceY = qreal(0.5) * (src.top() + src.bottom()); + gradientSourceDX = src.width() / stops.size(); + gradientSourceX0 = src.left() + qreal(0.5) * gradientSourceDX; + } if (m_radius > 0) { // Rounded corners. diff --git a/tests/gradients.qml b/tests/gradients.qml new file mode 100644 index 0000000..71a6d0b --- /dev/null +++ b/tests/gradients.qml @@ -0,0 +1,15 @@ +import QtQuick 1.0 + +Item { + width: 600 + height: 400 + + Rectangle { + width: 100 + height: 100 + gradient: Gradient { + GradientStop { position: 0; color: "red" } + GradientStop { position: 1; color: "blue" } + } + } +} |
