aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/basic/impl/qquickbasicdial.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickcontrols/basic/impl/qquickbasicdial.cpp')
-rw-r--r--src/quickcontrols/basic/impl/qquickbasicdial.cpp32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/quickcontrols/basic/impl/qquickbasicdial.cpp b/src/quickcontrols/basic/impl/qquickbasicdial.cpp
index 7726bfb159..d2550b7c27 100644
--- a/src/quickcontrols/basic/impl/qquickbasicdial.cpp
+++ b/src/quickcontrols/basic/impl/qquickbasicdial.cpp
@@ -29,6 +29,34 @@ void QQuickBasicDial::setProgress(qreal progress)
update();
}
+qreal QQuickBasicDial::startAngle() const
+{
+ return m_startAngle;
+}
+
+void QQuickBasicDial::setStartAngle(qreal startAngle)
+{
+ if (startAngle == m_startAngle)
+ return;
+
+ m_startAngle = startAngle;
+ update();
+}
+
+qreal QQuickBasicDial::endAngle() const
+{
+ return m_endAngle;
+}
+
+void QQuickBasicDial::setEndAngle(qreal endAngle)
+{
+ if (endAngle == m_endAngle)
+ return;
+
+ m_endAngle = endAngle;
+ update();
+}
+
QColor QQuickBasicDial::color() const
{
return m_color;
@@ -70,8 +98,8 @@ void QQuickBasicDial::paint(QPainter *painter)
painter->setRenderHint(QPainter::Antialiasing);
- const qreal startAngle = (140 + 90);
- const qreal spanAngle = (m_progress * 280) * -1;
+ const qreal startAngle = 90. - m_startAngle;
+ const qreal spanAngle = m_progress * (m_startAngle - m_endAngle);
QPainterPath path;
path.arcMoveTo(rect, startAngle);
path.arcTo(rect, startAngle, spanAngle);