Marble

MergedLayerDecorator.h
1// SPDX-FileCopyrightText: 2008 David Roberts <dvdr18@gmail.com>
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4
5#ifndef MARBLE_MERGEDLAYERDECORATOR_H
6#define MARBLE_MERGEDLAYERDECORATOR_H
7
8#include <QVector>
9#include <QList>
10
11#include "MarbleGlobal.h"
12
13class QImage;
14class QString;
15class QSize;
16
17namespace Marble
18{
19
20class GeoDataGroundOverlay;
21class GeoSceneAbstractTileProjection;
22class GeoSceneTextureTileDataset;
23class SunLocator;
24class StackedTile;
25class Tile;
26class TileId;
27class TileLoader;
28class RenderState;
29
30class MergedLayerDecorator
31{
32 public:
33 MergedLayerDecorator( TileLoader * const tileLoader, const SunLocator* sunLocator );
34 virtual ~MergedLayerDecorator();
35
36 void setTextureLayers( const QVector<const GeoSceneTextureTileDataset *> &textureLayers );
37 void updateGroundOverlays( const QList<const GeoDataGroundOverlay *> &groundOverlays );
38
39 int textureLayersSize() const;
40
41 /**
42 * Returns the highest level in which some tiles are theoretically
43 * available for the current texture layers.
44 */
45 int maximumTileLevel() const;
46
47 int tileColumnCount( int level ) const;
48
49 int tileRowCount( int level ) const;
50
51 const GeoSceneAbstractTileProjection *tileProjection() const;
52
53 QSize tileSize() const;
54
55 StackedTile *loadTile( const TileId &id );
56
57 StackedTile *updateTile( const StackedTile &stackedTile, const TileId &tileId, const QImage &tileImage );
58
59 void downloadStackedTile( const TileId &id, DownloadUsage usage );
60
61 void setShowSunShading( bool show );
62 bool showSunShading() const;
63
64 void setShowCityLights( bool show );
65 bool showCityLights() const;
66
67 void setShowTileId(bool show);
68
69 RenderState renderState( const TileId &stackedTileId ) const;
70
71 bool hasTextureLayer() const;
72
73 protected:
74 Q_DISABLE_COPY( MergedLayerDecorator )
75
76 class Private;
77 Private *const d;
78};
79
80}
81
82#endif
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 Jul 26 2024 11:57:57 by doxygen 1.11.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.