Marble

VectorTileLayer.h
1 /*
2  SPDX-License-Identifier: LGPL-2.1-or-later
3 
4  SPDX-FileCopyrightText: 2008 Patrick Spendrin <[email protected]>
5  SPDX-FileCopyrightText: 2010 Thibaut Gridel <[email protected]>
6  SPDX-FileCopyrightText: 2012 Ander Pijoan <[email protected]>
7  SPDX-FileCopyrightText: 2013 Bernhard Beschow <[email protected]>
8 */
9 
10 #ifndef MARBLE_VECTORTILELAYER_H
11 #define MARBLE_VECTORTILELAYER_H
12 
13 #include "TileLayer.h"
14 
15 #include "MarbleGlobal.h"
16 
17 namespace Marble
18 {
19 
20 class GeoPainter;
21 class GeoDataDocument;
22 class GeoSceneGroup;
23 class GeoSceneVectorTileDataset;
24 class GeoDataTreeModel;
25 class PluginManager;
26 class HttpDownloadManager;
27 class ViewportParams;
28 class TileId;
29 
30 class MARBLE_EXPORT VectorTileLayer : public TileLayer
31 {
32  Q_OBJECT
33 
34 public:
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 
63 Q_SIGNALS:
64  void tileLevelChanged(int tileLevel);
65 
66 public Q_SLOTS:
67  void setMapTheme(const QVector<const GeoSceneVectorTileDataset *> &textures, const GeoSceneGroup *textureLayerSettings);
68 
69  void reset();
70 
71 private:
72  Q_PRIVATE_SLOT(d, void updateLayerSettings())
73  Q_PRIVATE_SLOT(d, void updateTile(const TileId &tileId, GeoDataDocument* document))
74 
75 
76 private:
77  class Private;
78  Private *const d;
79 
80 };
81 
82 }
83 
84 #endif // MARBLE_VECTORTILELAYER_H
const QList< QKeySequence > & reload()
Binds a QML item to a specific geodetic location in screen coordinates.
KGuiItem reset()
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Oct 4 2023 04:09:43 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.