File indexing completed on 2024-04-28 15:39:08
0001 // SPDX-FileCopyrightText: 2021 Tobias Leupold <tl at stonemx dot de> 0002 // 0003 // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 0005 // Local includes 0006 #include "TracksLayer.h" 0007 #include "GeoDataModel.h" 0008 #include "KGeoTag.h" 0009 0010 // Marble includes 0011 #include <marble/GeoPainter.h> 0012 0013 // C++ includes 0014 #include <utility> 0015 0016 static QStringList s_renderPosition { QStringLiteral("SURFACE") }; 0017 0018 TracksLayer::TracksLayer(QObject *parent, GeoDataModel *geoDataModel, QPen *trackPen) 0019 : QObject(parent), 0020 m_geoDataModel(geoDataModel), 0021 m_trackPen(trackPen) 0022 { 0023 } 0024 0025 QStringList TracksLayer::renderPosition() const 0026 { 0027 return s_renderPosition; 0028 } 0029 0030 bool TracksLayer::render(Marble::GeoPainter *painter, Marble::ViewportParams *, const QString &, 0031 Marble::GeoSceneLayer *) 0032 { 0033 painter->setPen(*m_trackPen); 0034 0035 for (const auto &segments : m_geoDataModel->marbleTracks()) { 0036 for (const auto &segment : segments) { 0037 painter->drawPolyline(segment); 0038 } 0039 } 0040 0041 return true; 0042 }