From 75f76f7157af7c9785fdca0825375abc4169300e Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 18 Jun 2019 14:55:56 +0300 Subject: Revert "Fix rendering lines with Antialiasing render hint" This reverts commit d87ebea3be105e8e5f46e096af5109b9d2eb7e0a. The commit above causes significant slowdown on antialiased series drawing while the visual artifact it fixes isn't usually noticeable. Task-number: QTBUG-76271 Change-Id: I3a50d469482d67224028961f74859e0c0eeb822c Reviewed-by: Maurice Kalinowski --- src/charts/linechart/linechartitem.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src') diff --git a/src/charts/linechart/linechartitem.cpp b/src/charts/linechart/linechartitem.cpp index b96d263a..8ea5dbb0 100644 --- a/src/charts/linechart/linechartitem.cpp +++ b/src/charts/linechart/linechartitem.cpp @@ -406,9 +406,7 @@ void LineChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt painter->drawPath(m_linePath); } else { painter->setBrush(QBrush(Qt::NoBrush)); - if (m_linePen.style() != Qt::SolidLine - || painter->renderHints().testFlag(QPainter::Antialiasing) - || alwaysUsePath) { + if (m_linePen.style() != Qt::SolidLine || alwaysUsePath) { // If pen style is not solid line, always fall back to path painting // to ensure proper continuity of the pattern painter->drawPath(m_linePath); -- cgit v1.2.3 From 166eae80efe685ffbc7097ebdbe3e68d12e7d2e0 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 18 Jun 2019 13:10:30 +0300 Subject: Force entire chart update when points label clipping changes Series points labels can be partly outside the plot area. When they are set to be clipped to plot area, the parts of labels that are outside the plot area are not cleared unless the whole chart is updated. Task-number: QTBUG-60384 Change-Id: I67233b562d9d0e404c09e5b661123819e97fc529 Reviewed-by: Michal Klocek --- src/charts/areachart/areachartitem.cpp | 7 ++++++- src/charts/linechart/linechartitem.cpp | 8 +++++++- src/charts/scatterchart/scatterchartitem.cpp | 7 ++++++- src/charts/splinechart/splinechartitem.cpp | 7 ++++++- 4 files changed, 25 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/charts/areachart/areachartitem.cpp b/src/charts/areachart/areachartitem.cpp index 58f2c367..bd1c2b5c 100644 --- a/src/charts/areachart/areachartitem.cpp +++ b/src/charts/areachart/areachartitem.cpp @@ -198,8 +198,13 @@ void AreaChartItem::handleUpdated() m_pointLabelsVisible = m_series->pointLabelsVisible(); m_pointLabelsFont = m_series->pointLabelsFont(); m_pointLabelsColor = m_series->pointLabelsColor(); + bool labelClippingChanged = m_pointLabelsClipping != m_series->pointLabelsClipping(); m_pointLabelsClipping = m_series->pointLabelsClipping(); - update(); + // Update whole chart in case label clipping changed as labels can be outside series area + if (labelClippingChanged) + m_series->chart()->update(); + else + update(); } void AreaChartItem::handleDomainUpdated() diff --git a/src/charts/linechart/linechartitem.cpp b/src/charts/linechart/linechartitem.cpp index 8ea5dbb0..99e16d29 100644 --- a/src/charts/linechart/linechartitem.cpp +++ b/src/charts/linechart/linechartitem.cpp @@ -354,12 +354,18 @@ void LineChartItem::handleUpdated() m_pointLabelsVisible = m_series->pointLabelsVisible(); m_pointLabelsFont = m_series->pointLabelsFont(); m_pointLabelsColor = m_series->pointLabelsColor(); + bool labelClippingChanged = m_pointLabelsClipping != m_series->pointLabelsClipping(); m_pointLabelsClipping = m_series->pointLabelsClipping(); if (doGeometryUpdate) updateGeometry(); else if (m_series->useOpenGL() && visibleChanged) refreshGlChart(); - update(); + + // Update whole chart in case label clipping changed as labels can be outside series area + if (labelClippingChanged) + m_series->chart()->update(); + else + update(); } void LineChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) diff --git a/src/charts/scatterchart/scatterchartitem.cpp b/src/charts/scatterchart/scatterchartitem.cpp index 1558cc60..a358e4f2 100644 --- a/src/charts/scatterchart/scatterchartitem.cpp +++ b/src/charts/scatterchart/scatterchartitem.cpp @@ -273,6 +273,7 @@ void ScatterChartItem::handleUpdated() m_pointLabelsVisible = m_series->pointLabelsVisible(); m_pointLabelsFont = m_series->pointLabelsFont(); m_pointLabelsColor = m_series->pointLabelsColor(); + bool labelClippingChanged = m_pointLabelsClipping != m_series->pointLabelsClipping(); m_pointLabelsClipping = m_series->pointLabelsClipping(); if (recreate) { @@ -285,7 +286,11 @@ void ScatterChartItem::handleUpdated() setPen(m_series->pen()); setBrush(m_series->brush()); - update(); + // Update whole chart in case label clipping changed as labels can be outside series area + if (labelClippingChanged) + m_series->chart()->update(); + else + update(); } QT_CHARTS_END_NAMESPACE diff --git a/src/charts/splinechart/splinechartitem.cpp b/src/charts/splinechart/splinechartitem.cpp index f873fd10..776842fd 100644 --- a/src/charts/splinechart/splinechartitem.cpp +++ b/src/charts/splinechart/splinechartitem.cpp @@ -427,8 +427,13 @@ void SplineChartItem::handleUpdated() m_pointLabelsVisible = m_series->pointLabelsVisible(); m_pointLabelsFont = m_series->pointLabelsFont(); m_pointLabelsColor = m_series->pointLabelsColor(); + bool labelClippingChanged = m_pointLabelsClipping != m_series->pointLabelsClipping(); m_pointLabelsClipping = m_series->pointLabelsClipping(); - update(); + // Update whole chart in case label clipping changed as labels can be outside series area + if (labelClippingChanged) + m_series->chart()->update(); + else + update(); } //painter -- cgit v1.2.3 From e55da30217bd39909bd6618cf52e23eacf6c7b37 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Wed, 3 Jul 2019 11:36:19 +0200 Subject: Doc: Replace example file lists with links to code.qt.io Task-number: QTBUG-74391 Change-Id: I62448038bba30de7a54e3719277783776c240f76 Reviewed-by: Paul Wicking --- src/charts/doc/qtcharts.qdocconf | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/charts/doc/qtcharts.qdocconf b/src/charts/doc/qtcharts.qdocconf index f746ea05..533e0f36 100644 --- a/src/charts/doc/qtcharts.qdocconf +++ b/src/charts/doc/qtcharts.qdocconf @@ -1,4 +1,5 @@ include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf) +include($QT_INSTALL_DOCS/config/exampleurl-qtcharts.qdocconf) project = QtCharts description = Qt Charts Reference Documentation -- cgit v1.2.3