File indexing completed on 2024-05-19 03:51:40
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2011 Guillaume Martres <smarter@ubuntu.com> 0004 // 0005 0006 #include "GeoTrackGraphicsItem.h" 0007 0008 #include "GeoDataLineString.h" 0009 #include "GeoDataPlacemark.h" 0010 #include "GeoDataTrack.h" 0011 #include "MarbleDebug.h" 0012 #include "StyleBuilder.h" 0013 0014 using namespace Marble; 0015 0016 GeoTrackGraphicsItem::GeoTrackGraphicsItem(const GeoDataPlacemark *placemark, const GeoDataTrack *track) : 0017 GeoLineStringGraphicsItem(placemark, track->lineString()) 0018 { 0019 setTrack( track ); 0020 if (placemark) { 0021 QString const paintLayer = QLatin1String("Track/") + StyleBuilder::visualCategoryName(placemark->visualCategory()); 0022 setPaintLayers(QStringList() << paintLayer); 0023 } 0024 } 0025 0026 void GeoTrackGraphicsItem::setTrack( const GeoDataTrack* track ) 0027 { 0028 m_track = track; 0029 update(); 0030 } 0031 0032 void GeoTrackGraphicsItem::paint(GeoPainter *painter, const ViewportParams *viewport , const QString &layer, int tileZoomLevel) 0033 { 0034 Q_UNUSED(layer); 0035 Q_UNUSED(tileZoomLevel); 0036 update(); 0037 GeoLineStringGraphicsItem::paint(painter, viewport, layer, tileZoomLevel); 0038 } 0039 0040 void GeoTrackGraphicsItem::update() 0041 { 0042 setLineString( m_track->lineString() ); 0043 }