digiKam
backendmarblelayer.h
Go to the documentation of this file.
1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date : 2009-12-08
7  * Description : Internal part of the Marble-backend for geolocation interface
8  *
9  * Copyright (C) 2010-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  * Copyright (C) 2009-2010 by Michael G. Hansen <mike at mghansen dot de>
11  *
12  * This program is free software; you can redistribute it
13  * and/or modify it under the terms of the GNU General
14  * Public License as published by the Free Software Foundation;
15  * either version 2, or (at your option)
16  * any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * ============================================================ */
24 
25 #ifndef DIGIKAM_BACKEND_MARBLE_LAYER_H
26 #define DIGIKAM_BACKEND_MARBLE_LAYER_H
27 
28 // Qt includes
29 
30 #include <QPointer>
31 
32 // Marble includes
33 
34 #include <marble/LayerInterface.h>
35 
36 // Local includes
37 
38 #include "digikam_export.h"
39 
41 namespace Marble
42 {
43  class GeoPainter;
44  class ViewportParams;
45  class GeoSceneLayer;
46 }
48 
49 namespace Digikam
50 {
51 
52 class BackendMarble;
53 
54 class DIGIKAM_EXPORT BackendMarbleLayer : public Marble::LayerInterface
55 {
56 public:
57 
58  explicit BackendMarbleLayer(BackendMarble* const pMarbleBackend);
59  ~BackendMarbleLayer() override;
60 
61  bool render(Marble::GeoPainter* painter,
62  Marble::ViewportParams* viewport,
63  const QString& renderPos = QLatin1String("NONE"),
64  Marble::GeoSceneLayer* layer = nullptr) override;
65 
66  QStringList renderPosition () const override;
67 
68  void setBackend(BackendMarble* const pMarbleBackend);
69 
70 private:
71 
72  QPointer<BackendMarble> marbleBackend;
73 
74 private:
75 
76  Q_DISABLE_COPY(BackendMarbleLayer)
77 };
78 
79 } // namespace Digikam
80 
81 #endif // DIGIKAM_BACKEND_MARBLE_LAYER_H
Definition: backendmarblelayer.h:55
Definition: backendmarble.h:46
Definition: datefolderview.cpp:43