From d16cab30d42857ea59c7dbb44bdac4404e4a27c2 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 5 Oct 2023 14:58:18 +0300 Subject: [PATCH] Fixed paint of rulers for stack chart view. --- Telegram/SourceFiles/statistics/chart_widget.cpp | 13 +++++++++++-- Telegram/SourceFiles/statistics/chart_widget.h | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/statistics/chart_widget.cpp b/Telegram/SourceFiles/statistics/chart_widget.cpp index bc402d89d..3b3599e0b 100644 --- a/Telegram/SourceFiles/statistics/chart_widget.cpp +++ b/Telegram/SourceFiles/statistics/chart_widget.cpp @@ -937,7 +937,9 @@ void ChartWidget::setupChartArea() { return; } - _rulersView.paintRulers(p, chartRect); + if (!_areRulersAbove) { + _rulersView.paintRulers(p, chartRect); + } const auto context = PaintContext{ _chartData, @@ -953,7 +955,9 @@ void ChartWidget::setupChartArea() { _chartView->paint(p, context); } - _rulersView.paintCaptionsToRulers(p, chartRect); + if (!_areRulersAbove) { + _rulersView.paintCaptionsToRulers(p, chartRect); + } { [[maybe_unused]] const auto o = ScopedPainterOpacity( p, @@ -979,6 +983,10 @@ void ChartWidget::setupChartArea() { _details.widget->xIndex(), detailsAlpha); } + if (_areRulersAbove) { + _rulersView.paintRulers(p, chartRect); + _rulersView.paintCaptionsToRulers(p, chartRect); + } p.setPen(st::windowSubTextFg); PaintBottomLine( @@ -1445,6 +1453,7 @@ void ChartWidget::setChartData( _chartView = CreateChartView(type); _chartView->setLinesFilterController(_linesFilterController); _rulersView.setChartData(_chartData, type, _linesFilterController); + _areRulersAbove = (type == ChartViewType::Stack); if (_chartData.isFooterHidden) { _footer->hide(); diff --git a/Telegram/SourceFiles/statistics/chart_widget.h b/Telegram/SourceFiles/statistics/chart_widget.h index eb7ffc443..5021603ff 100644 --- a/Telegram/SourceFiles/statistics/chart_widget.h +++ b/Telegram/SourceFiles/statistics/chart_widget.h @@ -162,7 +162,7 @@ private: int captionIndicesOffset = 0; } _bottomLine; - bool _useMinHeight = false; + bool _areRulersAbove = false; std::shared_ptr _linesFilterController;