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 #ifndef TRACKSLAYER_H 0006 #define TRACKSLAYER_H 0007 0008 // Marble includes 0009 #include <marble/LayerInterface.h> 0010 #include <marble/GeoDataLineString.h> 0011 0012 // Qt includes 0013 #include <QObject> 0014 0015 // Local classes 0016 class GeoDataModel; 0017 0018 // Marble classes 0019 namespace Marble 0020 { 0021 class GeoPainter; 0022 class ViewportParams; 0023 class GeoSceneLayer; 0024 } 0025 0026 // Qt classes 0027 class QPen; 0028 0029 class TracksLayer : public QObject, public Marble::LayerInterface 0030 { 0031 Q_OBJECT 0032 0033 public: 0034 TracksLayer(QObject *parent, GeoDataModel *geoDataModel, QPen *trackPen); 0035 QStringList renderPosition() const override; 0036 bool render(Marble::GeoPainter *painter, Marble::ViewportParams *, 0037 const QString &, Marble::GeoSceneLayer *) override; 0038 0039 private: // Variables 0040 GeoDataModel *m_geoDataModel; 0041 const QPen *m_trackPen; 0042 0043 }; 0044 0045 #endif // TRACKSLAYER_H