From 7ed67b83fa6cf94ab5b72fc4237a7b7add3d025b 2013-03-21 12:38:26 From: Miikka Heikkinen Date: 2013-03-21 12:38:26 Subject: [PATCH] Fix area series fill problem when component series have points visible Line series points are drawn by adding ellipses to line series path, which in turn is used by area series. QPainterPath fill algorithm cannot handle this case, as there would be fill required on both sides of the path. Task-number: QTRD-1941 Reviewed-by: Mika Salmela --- diff --git a/src/areachart/areachartitem_p.h b/src/areachart/areachartitem_p.h index e08c4b0..0c09bad 100644 --- a/src/areachart/areachartitem_p.h +++ b/src/areachart/areachartitem_p.h @@ -94,6 +94,9 @@ public: void updateGeometry() { + // Turn off points drawing from component line chart item, as that + // messes up the fill for area series. + suppressPoints(); LineChartItem::updateGeometry(); m_item->updatePath(); } diff --git a/src/linechart/linechartitem_p.h b/src/linechart/linechartitem_p.h index 24488fd..6db4ccf 100644 --- a/src/linechart/linechartitem_p.h +++ b/src/linechart/linechartitem_p.h @@ -62,6 +62,7 @@ protected: void mousePressEvent(QGraphicsSceneMouseEvent *event); void hoverEnterEvent(QGraphicsSceneHoverEvent *event); void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); + void suppressPoints() { m_pointsVisible = false; } private: QLineSeries *m_series;