summaryrefslogtreecommitdiff
path: root/src/location/labs/qsg/qmappolylineobjectqsg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/location/labs/qsg/qmappolylineobjectqsg.cpp')
-rw-r--r--src/location/labs/qsg/qmappolylineobjectqsg.cpp36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/location/labs/qsg/qmappolylineobjectqsg.cpp b/src/location/labs/qsg/qmappolylineobjectqsg.cpp
index 5b184326..2bf5b287 100644
--- a/src/location/labs/qsg/qmappolylineobjectqsg.cpp
+++ b/src/location/labs/qsg/qmappolylineobjectqsg.cpp
@@ -45,18 +45,20 @@ QT_BEGIN_NAMESPACE
*/
QMapPolylineObjectPrivateQSG::QMapPolylineObjectPrivateQSG(QGeoMapObject *q)
- : QMapPolylineObjectPrivate(q)
+ : QMapPolylineObjectPrivateDefault(q)
{
}
QMapPolylineObjectPrivateQSG::QMapPolylineObjectPrivateQSG(const QMapPolylineObjectPrivate &other)
- : QMapPolylineObjectPrivate(other.q)
+ : QMapPolylineObjectPrivateDefault(other)
{
- // do the appropriate internal update and trigger map repaint
- setPath(other.path());
- setColor(other.color());
- setWidth(other.width());
+ m_geoPath.setPath(m_path);
+ // rest of the data already cloned by the *Default copy constructor, but necessary
+ // update operations triggered only by setters overrides
+ updateGeometry();
+ if (m_map)
+ emit m_map->sgNodeChanged();
}
QMapPolylineObjectPrivateQSG::~QMapPolylineObjectPrivateQSG()
@@ -102,7 +104,7 @@ QSGNode *QMapPolylineObjectPrivateQSG::updateMapObjectNode(QSGNode *oldNode,
QSGNode *root,
QQuickWindow * /*window*/)
{
- Q_UNUSED(visibleNode)
+ Q_UNUSED(visibleNode);
MapPolylineNode *node = static_cast<MapPolylineNode *>(oldNode);
bool created = false;
@@ -127,24 +129,23 @@ QSGNode *QMapPolylineObjectPrivateQSG::updateMapObjectNode(QSGNode *oldNode,
return node;
}
-QList<QGeoCoordinate> QMapPolylineObjectPrivateQSG::path() const { return m_geoPath.path(); }
-
-QColor QMapPolylineObjectPrivateQSG::color() const { return m_color; }
-
-qreal QMapPolylineObjectPrivateQSG::width() const { return m_width; }
+QList<QGeoCoordinate> QMapPolylineObjectPrivateQSG::path() const
+{
+ return m_geoPath.path();
+}
void QMapPolylineObjectPrivateQSG::setPath(const QList<QGeoCoordinate> &path)
{
+ m_path = path;
m_geoPath.setPath(path);
updateGeometry();
-
if (m_map)
emit m_map->sgNodeChanged();
}
void QMapPolylineObjectPrivateQSG::setColor(const QColor &color)
{
- m_color = color;
+ QMapPolylineObjectPrivateDefault::setColor(color);
updateGeometry();
if (m_map)
@@ -153,7 +154,7 @@ void QMapPolylineObjectPrivateQSG::setColor(const QColor &color)
void QMapPolylineObjectPrivateQSG::setWidth(qreal width)
{
- m_width = width;
+ QMapPolylineObjectPrivateDefault::setWidth(width);
updateGeometry();
if (m_map)
@@ -165,4 +166,9 @@ QGeoMapObjectPrivate *QMapPolylineObjectPrivateQSG::clone()
return new QMapPolylineObjectPrivateQSG(static_cast<QMapPolylineObjectPrivate &>(*this));
}
+QGeoShape QMapPolylineObjectPrivateQSG::geoShape() const
+{
+ return m_geoPath;
+}
+
QT_END_NAMESPACE