diff --git a/Telegram/SourceFiles/statistics/chart_widget.cpp b/Telegram/SourceFiles/statistics/chart_widget.cpp index b07375a7bb..53b8011599 100644 --- a/Telegram/SourceFiles/statistics/chart_widget.cpp +++ b/Telegram/SourceFiles/statistics/chart_widget.cpp @@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "base/qt/qt_key_modifiers.h" #include "statistics/linear_chart_view.h" +#include "statistics/point_details_widget.h" #include "ui/abstract_button.h" #include "ui/effects/animation_value_f.h" #include "ui/rect.h" @@ -20,6 +21,10 @@ namespace { constexpr auto kHeightLimitsUpdateTimeout = crl::time(320); +inline float64 InterpolationRatio(float64 from, float64 to, float64 result) { + return (result - from) / (to - from); +}; + [[nodiscard]] int FindMaxValue( Data::StatisticalChart &chartData, int startXIndex, @@ -424,6 +429,10 @@ Limits ChartWidget::ChartAnimationController::currentXLimits() const { return { _animationValueXMin.current(), _animationValueXMax.current() }; } +Limits ChartWidget::ChartAnimationController::finalXLimits() const { + return { _animationValueXMin.to(), _animationValueXMax.to() }; +} + Limits ChartWidget::ChartAnimationController::currentHeightLimits() const { return { _animationValueHeightMin.current(), @@ -442,7 +451,7 @@ auto ChartWidget::ChartAnimationController::heightAnimationStarts() const ChartWidget::ChartWidget(not_null parent) : Ui::RpWidget(parent) -, _chartArea(base::make_unique_q(this)) +, _chartArea(base::make_unique_q(this)) , _footer(std::make_unique