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