File indexing completed on 2025-03-09 03:57:15
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-12-08 0007 * Description : Internal part of the Marble-backend for geolocation interface 0008 * 0009 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * SPDX-FileCopyrightText: 2009-2010 by Michael G. Hansen <mike at mghansen dot de> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_BACKEND_MARBLE_LAYER_H 0017 #define DIGIKAM_BACKEND_MARBLE_LAYER_H 0018 0019 // Qt includes 0020 0021 #include <QPointer> 0022 0023 // Marble includes 0024 0025 #include "LayerInterface.h" 0026 0027 // Local includes 0028 0029 #include "digikam_export.h" 0030 0031 /// @cond false 0032 namespace Marble 0033 { 0034 class GeoPainter; 0035 class ViewportParams; 0036 class GeoSceneLayer; 0037 } 0038 /// @endcond 0039 0040 namespace Digikam 0041 { 0042 0043 class BackendMarble; 0044 0045 class DIGIKAM_EXPORT BackendMarbleLayer : public Marble::LayerInterface 0046 { 0047 public: 0048 0049 explicit BackendMarbleLayer(BackendMarble* const pMarbleBackend); 0050 ~BackendMarbleLayer() override; 0051 0052 bool render(Marble::GeoPainter* painter, 0053 Marble::ViewportParams* viewport, 0054 const QString& renderPos = QLatin1String("NONE"), 0055 Marble::GeoSceneLayer* layer = nullptr) override; 0056 0057 QStringList renderPosition () const override; 0058 0059 void setBackend(BackendMarble* const pMarbleBackend); 0060 0061 private: 0062 0063 QPointer<BackendMarble> marbleBackend; 0064 0065 private: 0066 0067 Q_DISABLE_COPY(BackendMarbleLayer) 0068 }; 0069 0070 } // namespace Digikam 0071 0072 #endif // DIGIKAM_BACKEND_MARBLE_LAYER_H