1 /* SPDX-FileCopyrightText: 2021 Tobias Leupold <tobias.leupold@gmx.de> 2 3 SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-KDE-Accepted-GPL 4 */ 5 6 #ifndef TRACKSLAYER_H 7 #define TRACKSLAYER_H 8 9 // Marble includes 10 #include <marble/LayerInterface.h> 11 #include <marble/GeoDataLineString.h> 12 13 // Qt includes 14 #include <QObject> 15 16 // Local classes 17 class GeoDataModel; 18 19 // Marble classes 20 namespace Marble 21 { 22 class GeoPainter; 23 class ViewportParams; 24 class GeoSceneLayer; 25 } 26 27 // Qt classes 28 class QPen; 29 30 class TracksLayer : public QObject, public Marble::LayerInterface 31 { 32 Q_OBJECT 33 34 public: 35 TracksLayer(QObject *parent, GeoDataModel *geoDataModel, QPen *trackPen); 36 QStringList renderPosition() const override; 37 bool render(Marble::GeoPainter *painter, Marble::ViewportParams *, 38 const QString &, Marble::GeoSceneLayer *) override; 39 40 private: // Variables 41 GeoDataModel *m_geoDataModel; 42 const QPen *m_trackPen; 43 44 }; 45 46 #endif // TRACKSLAYER_H 47