aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-03-28 11:16:27 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-03-29 13:21:09 +0000
commit193d11d7482e51215a0240e8a803915d6d400c66 (patch)
tree5dce86d3c18a57c716fd7605711bd7383adba1b1 /src
parenta762b6a585420ee89e5e7fcd45fa99cff87b911a (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.cpp3
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();