diff options
author | Gunnar Sletta <gunnar.sletta@nokia.com> | 2010-12-22 12:09:25 +0100 |
---|---|---|
committer | Gunnar Sletta <gunnar.sletta@nokia.com> | 2010-12-22 12:09:25 +0100 |
commit | 9b8f945858e553a1b13e5b5cfbdfb8d0e05070aa (patch) | |
tree | 2b51c6a0b1d9dbd6ce24550ed9dc863b75ac4be9 | |
parent | 96f72a8f8e5f0bee3ce3bb92cc859e28e59fa45c (diff) |
Fixed gradient rectangles
-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" } + } + } +} |