Marble

VectorTileLayer.h
1/*
2 SPDX-License-Identifier: LGPL-2.1-or-later
3
4 SPDX-FileCopyrightText: 2008 Patrick Spendrin <ps_ml@gmx.de>
5 SPDX-FileCopyrightText: 2010 Thibaut Gridel <tgridel@free.fr>
6 SPDX-FileCopyrightText: 2012 Ander Pijoan <ander.pijoan@deusto.es>
7 SPDX-FileCopyrightText: 2013 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
8*/
9
10#ifndef MARBLE_VECTORTILELAYER_H
11#define MARBLE_VECTORTILELAYER_H
12
13#include "TileLayer.h"
14
15#include "MarbleGlobal.h"
16
17namespace Marble
18{
19
20class GeoPainter;
21class GeoDataDocument;
22class GeoSceneGroup;
23class GeoSceneVectorTileDataset;
24class GeoDataTreeModel;
25class PluginManager;
26class HttpDownloadManager;
27class ViewportParams;
28class TileId;
29
30class MARBLE_EXPORT VectorTileLayer : public TileLayer
31{
32 Q_OBJECT
33
34public:
35 VectorTileLayer(HttpDownloadManager *downloadManager,
36 const PluginManager *pluginManager,
37 GeoDataTreeModel *treeModel);
38
39 ~VectorTileLayer() override;
40
41 RenderState renderState() const override;
42
43 int tileZoomLevel() const;
44
45 QString runtimeTrace() const override;
46
47 bool render(GeoPainter *painter, ViewportParams *viewport,
48 const QString &renderPos = QLatin1String("NONE"),
49 GeoSceneLayer *layer = nullptr) override;
50
51 void reload();
52
53 QSize tileSize() const;
54 const GeoSceneAbstractTileProjection *tileProjection() const;
55
56 int tileColumnCount( int level ) const;
57 int tileRowCount( int level ) const;
58
59 int layerCount() const;
60
61 void downloadTile( const TileId &stackedTileId );
62
63Q_SIGNALS:
64 void tileLevelChanged(int tileLevel);
65
66public Q_SLOTS:
67 void setMapTheme(const QVector<const GeoSceneVectorTileDataset *> &textures, const GeoSceneGroup *textureLayerSettings);
68
69 void reset();
70
71private:
72 Q_PRIVATE_SLOT(d, void updateLayerSettings())
73 Q_PRIVATE_SLOT(d, void updateTile(const TileId &tileId, GeoDataDocument* document))
74
75
76private:
77 class Private;
78 Private *const d;
79
80};
81
82}
83
84#endif // MARBLE_VECTORTILELAYER_H
KGuiItem reset()
const QList< QKeySequence > & reload()
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:17 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.