diff --git a/ui/paint/arcs.cpp b/ui/paint/arcs.cpp index 3f5213f..d3713c4 100644 --- a/ui/paint/arcs.cpp +++ b/ui/paint/arcs.cpp @@ -209,7 +209,11 @@ bool ArcsAnimation::isArcFinished(const Arc &arc) const { void ArcsAnimation::paint(Painter &p, std::optional colorOverride) { PainterHighQualityEnabler hq(p); QPen pen; - pen.setWidth(_st.stroke); + if (_strokeRatio) { + pen.setWidthF(_st.stroke * _strokeRatio); + } else { + pen.setWidth(_st.stroke); + } pen.setCapStyle(Qt::RoundCap); pen.setColor(colorOverride ? (*colorOverride) : _st.fg->c); p.setPen(pen); @@ -228,5 +232,8 @@ void ArcsAnimation::paint(Painter &p, std::optional colorOverride) { } } +void ArcsAnimation::setStrokeRatio(float ratio) { + _strokeRatio = ratio; +} } // namespace Ui::Paint diff --git a/ui/paint/arcs.h b/ui/paint/arcs.h index e713444..a1275a6 100644 --- a/ui/paint/arcs.h +++ b/ui/paint/arcs.h @@ -57,6 +57,8 @@ public: float finishedWidth() const; float height() const; + void setStrokeRatio(float ratio); + private: struct Arc { QRectF rect; @@ -82,6 +84,7 @@ private: const QRectF _emptyRect; float64 _currentValue = 0.; + float _strokeRatio = 0.; rpl::event_stream<> _startUpdateRequests; rpl::event_stream<> _stopUpdateRequests;