summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2023-04-20 14:14:37 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-04-21 16:40:30 +0000
commit96a59f576c0451d4b0c916098bcfd070f8293252 (patch)
tree08238ff26448672f70407d10db61d90f9f41ad4c
parent80dea4da8765ce3a728c23159226e08a8cccb5cd (diff)
ScatterChartItem: do not use item's position when resizing marker
The existing code was using current marker's coordinates when updating its size, but that actually resulted in double offset, because later we are explicitly calling setPos() on the marker. Fix it by always using (0, 0) as an offset when calculating the marker's rectangle. Fixes: QTBUG-112904 Change-Id: I427cbd502f1637a7da71a7f2b23ccb0228ac3f01 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> (cherry picked from commit edfcf8b309434e81eb602e2ca3e0d6c935f2c2eb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/charts/scatterchart/scatterchartitem.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/charts/scatterchart/scatterchartitem.cpp b/src/charts/scatterchart/scatterchartitem.cpp
index 6b0db764..ca6bae51 100644
--- a/src/charts/scatterchart/scatterchartitem.cpp
+++ b/src/charts/scatterchart/scatterchartitem.cpp
@@ -127,32 +127,32 @@ void ScatterChartItem::resizeMarker(QGraphicsItem *marker, const int size)
switch (m_markerShape) {
case QScatterSeries::MarkerShapeCircle: {
QGraphicsEllipseItem *item = static_cast<QGraphicsEllipseItem *>(marker);
- item->setRect(item->x(), item->y(), size, size);
+ item->setRect(0, 0, size, size);
break;
}
case QScatterSeries::MarkerShapeRectangle: {
QGraphicsRectItem *item = static_cast<QGraphicsRectItem *>(marker);
- item->setRect(item->x(), item->y(), size, size);
+ item->setRect(0, 0, size, size);
break;
}
case QScatterSeries::MarkerShapeRotatedRectangle: {
QGraphicsPolygonItem *item = static_cast<QGraphicsPolygonItem *>(marker);
- item->setPolygon(RotatedRectangleMarker::polygon(item->x(), item->y(), size, size));
+ item->setPolygon(RotatedRectangleMarker::polygon(0, 0, size, size));
break;
}
case QScatterSeries::MarkerShapeTriangle: {
QGraphicsPolygonItem *item = static_cast<QGraphicsPolygonItem *>(marker);
- item->setPolygon(TriangleMarker::polygon(item->x(), item->y(), size, size));
+ item->setPolygon(TriangleMarker::polygon(0, 0, size, size));
break;
}
case QScatterSeries::MarkerShapeStar: {
QGraphicsPolygonItem *item = static_cast<QGraphicsPolygonItem *>(marker);
- item->setPolygon(StarMarker::polygon(item->x(), item->y(), size, size));
+ item->setPolygon(StarMarker::polygon(0, 0, size, size));
break;
}
case QScatterSeries::MarkerShapePentagon: {
QGraphicsPolygonItem *item = static_cast<QGraphicsPolygonItem *>(marker);
- item->setPolygon(PentagonMarker::polygon(item->x(), item->y(), size, size));
+ item->setPolygon(PentagonMarker::polygon(0, 0, size, size));
break;
}
default: