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