summaryrefslogtreecommitdiff
path: root/src/location/quickmapitems/qdeclarativecirclemapitem_p_p.h
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2022-11-30 12:12:03 +0100
committerMatthias Rauter <matthias.rauter@qt.io>2023-02-08 09:28:10 +0100
commit34fccf47ecf8ab2db53b23013f4f402c175ce9de (patch)
tree48d3ad9eb9d7568e29f0877e8ed9d49da98b6ce1 /src/location/quickmapitems/qdeclarativecirclemapitem_p_p.h
parentcd4db512ae08836f5fa1d746000052215cf70a9c (diff)
downloadqtlocation-34fccf47ecf8ab2db53b23013f4f402c175ce9de.tar.gz
Implement all four map items with Shape
With a master switch in qdeclarativegeomapitembase_p.h, this is enabled by default. For now the old method is still available by just commenting out the define. The old path can be removed in follow-up patches; for now keeping both so one can compare and debug if further issues arise. Pick-to: 6.5 Change-Id: I01c44ee8a07d7d5f7eb018be33ac5d161ba90e2a Reviewed-by: Matthias Rauter <matthias.rauter@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/location/quickmapitems/qdeclarativecirclemapitem_p_p.h')
-rw-r--r--src/location/quickmapitems/qdeclarativecirclemapitem_p_p.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/location/quickmapitems/qdeclarativecirclemapitem_p_p.h b/src/location/quickmapitems/qdeclarativecirclemapitem_p_p.h
index e933cb70..e4e3a59c 100644
--- a/src/location/quickmapitems/qdeclarativecirclemapitem_p_p.h
+++ b/src/location/quickmapitems/qdeclarativecirclemapitem_p_p.h
@@ -22,12 +22,15 @@
QT_BEGIN_NAMESPACE
+class QQuickShape;
+class QQuickShapePath;
+
class Q_LOCATION_PRIVATE_EXPORT QGeoMapCircleGeometry : public QGeoMapPolygonGeometry
{
public:
QGeoMapCircleGeometry();
- void updateScreenPointsInvert(const QList<QDoubleVector2D> &circlePath, const QGeoMap &map);
+ void updateSourceAndScreenPointsInvert(const QList<QDoubleVector2D> &circlePath, const QGeoMap &map);
};
class Q_LOCATION_PRIVATE_EXPORT QDeclarativeCircleMapItemPrivate
@@ -83,12 +86,7 @@ public:
class Q_LOCATION_PRIVATE_EXPORT QDeclarativeCircleMapItemPrivateCPU: public QDeclarativeCircleMapItemPrivate
{
public:
-
- QDeclarativeCircleMapItemPrivateCPU(QDeclarativeCircleMapItem &circle)
- : QDeclarativeCircleMapItemPrivate(circle)
- {
- }
-
+ QDeclarativeCircleMapItemPrivateCPU(QDeclarativeCircleMapItem &circle);
~QDeclarativeCircleMapItemPrivateCPU() override;
void onLinePropertiesChanged() override
@@ -100,7 +98,9 @@ public:
{
// preserveGeometry is cleared in updateMapItemPaintNode
m_geometry.markSourceDirty();
+#ifndef MAPITEMS_USE_SHAPES
m_borderGeometry.markSourceDirty();
+#endif
m_circle.polishAndUpdate();
}
void onMapSet() override
@@ -126,8 +126,14 @@ public:
bool contains(const QPointF &point) const override;
QGeoMapCircleGeometry m_geometry;
+#ifdef MAPITEMS_USE_SHAPES
+ QQuickShape *m_shape = nullptr;
+ QQuickShapePath *m_shapePath = nullptr;
+ QDeclarativeGeoMapPainterPath *m_painterPath = nullptr;
+#else
QGeoMapPolylineGeometry m_borderGeometry;
MapPolygonNode *m_node = nullptr;
+#endif
};
QT_END_NAMESPACE