diff --git a/ui/effects/numbers_animation.cpp b/ui/effects/numbers_animation.cpp index 6f81a75..2a44ac3 100644 --- a/ui/effects/numbers_animation.cpp +++ b/ui/effects/numbers_animation.cpp @@ -17,12 +17,17 @@ NumbersAnimation::NumbersAnimation( const style::font &font, Fn animationCallback) : _font(font) +, _duration(st::slideWrapDuration) , _animationCallback(std::move(animationCallback)) { for (auto ch = '0'; ch != '9'; ++ch) { accumulate_max(_digitWidth, _font->m.horizontalAdvance(ch)); } } +void NumbersAnimation::setDuration(int duration) { + _duration = duration; +} + void NumbersAnimation::setText(const QString &text, int value) { if (_a_ready.animating()) { _delayedText = text; @@ -82,7 +87,7 @@ void NumbersAnimation::realSetText(QString text, int value) { [this] { animationCallback(); }, 0., 1., - st::slideWrapDuration); + _duration); } } diff --git a/ui/effects/numbers_animation.h b/ui/effects/numbers_animation.h index 49aac7e..c2f3fd3 100644 --- a/ui/effects/numbers_animation.h +++ b/ui/effects/numbers_animation.h @@ -25,6 +25,7 @@ public: _widthChangedCallback = std::move(callback); } void setText(const QString &text, int value); + void setDuration(int duration); void finishAnimating(); void paint(QPainter &p, int x, int y, int outerWidth); @@ -44,6 +45,8 @@ private: const style::font &_font; + int _duration; + QList _digits; int _digitWidth = 0;