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, const PluginManager *pluginManager, GeoDataTreeModel *treeModel);
36
37 ~VectorTileLayer() override;
38
39 RenderState renderState() const override;
40
41 int tileZoomLevel() const;
42
43 QString runtimeTrace() const override;
44
45 bool render(GeoPainter *painter, ViewportParams *viewport, const QString &renderPos = QLatin1String("NONE"), GeoSceneLayer *layer = nullptr) override;
46
47 void reload();
48
49 QSize tileSize() const override;
50 const GeoSceneAbstractTileProjection *tileProjection() const override;
51
52 int tileColumnCount(int level) const override;
53 int tileRowCount(int level) const override;
54
55 int layerCount() const override;
56
57 void downloadTile(const TileId &stackedTileId);
58
59Q_SIGNALS:
60 void tileLevelChanged(int tileLevel);
61
62public Q_SLOTS:
63 void setMapTheme(const QList<const GeoSceneVectorTileDataset *> &textures, const GeoSceneGroup *textureLayerSettings);
64
65 void reset();
66
67private:
68 Q_PRIVATE_SLOT(d, void updateLayerSettings())
69 Q_PRIVATE_SLOT(d, void updateTile(const TileId &tileId, GeoDataDocument *document))
70
71private:
72 class Private;
73 Private *const d;
74};
75
76}
77
78#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 Fri Dec 20 2024 11:52:13 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.