diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-03-28 11:16:27 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-03-29 13:21:09 +0000 |
commit | 193d11d7482e51215a0240e8a803915d6d400c66 (patch) | |
tree | 5dce86d3c18a57c716fd7605711bd7383adba1b1 /src | |
parent | a762b6a585420ee89e5e7fcd45fa99cff87b911a (diff) |
QQuickUniversalProgressRing: don't recreate rectangle in a loop
Just cache it.
Change-Id: Ibc1ec94331be6b019834f39c570b9ec43aabbae7
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/imports/controls/universal/qquickuniversalprogressring.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/imports/controls/universal/qquickuniversalprogressring.cpp b/src/imports/controls/universal/qquickuniversalprogressring.cpp index 38931525..b4ff37b0 100644 --- a/src/imports/controls/universal/qquickuniversalprogressring.cpp +++ b/src/imports/controls/universal/qquickuniversalprogressring.cpp @@ -230,6 +230,7 @@ QSGNode *QQuickUniversalProgressRing::updatePaintNode(QSGNode *oldNode, UpdatePa qreal diameter = size / 10.0; qreal radius = diameter / 2; qreal offset = (size - diameter * 2) / M_PI; + const QRectF rect(offset, offset, diameter, diameter); QSGNode *transformNode = oldNode->firstChild(); for (int i = 0; i < m_count; ++i) { @@ -251,7 +252,7 @@ QSGNode *QQuickUniversalProgressRing::updatePaintNode(QSGNode *oldNode, UpdatePa QSGRectangleNode *rectNode = static_cast<QSGRectangleNode *>(opacityNode->firstChild()); Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType); - rectNode->setRect(QRectF(offset, offset, diameter, diameter)); + rectNode->setRect(rect); rectNode->setColor(m_color); rectNode->setRadius(radius); rectNode->update(); |