• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • lib
  • marble
StackedTileLoader.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Marble Virtual Globe.
3  *
4  * Copyright 2005-2007 Torsten Rahn <tackat@kde.org>
5  * Copyright 2007 Inge Wallin <ingwa@kde.org>
6  * Copyright 2009 Jens-Michael Hoffmann <jensmh@gmx.de>
7  * Copyright 2010-2012 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Library General Public
11  * License as published by the Free Software Foundation; either
12  * version 2 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Library General Public License for more details.
18  *
19  * You should have received a copy of the GNU Library General Public License
20  * along with this library; see the file COPYING.LIB. If not, write to
21  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22  * Boston, MA 02110-1301, USA.
23  */
24 
25 #ifndef MARBLE_STACKEDTILELOADER_H
26 #define MARBLE_STACKEDTILELOADER_H
27 
28 #include <QObject>
29 #include <QSize>
30 
31 #include "GeoSceneTiled.h"
32 #include "TileId.h"
33 #include "RenderState.h"
34 
35 class QImage;
36 class QString;
37 
38 namespace Marble
39 {
40 
41 class MergedLayerDecorator;
42 class StackedTile;
43 
44 class StackedTileLoaderPrivate;
45 
59 class StackedTileLoader : public QObject
60 {
61  Q_OBJECT
62 
63  public:
70  explicit StackedTileLoader( MergedLayerDecorator *mergedLayerDecorator, QObject *parent = 0 );
71  virtual ~StackedTileLoader();
72 
73  int tileColumnCount( int level ) const;
74 
75  int tileRowCount( int level ) const;
76 
77  GeoSceneTextureTile::Projection tileProjection() const;
78 
79  QSize tileSize() const;
80 
87  const StackedTile* loadTile( TileId const &stackedTileId );
88 
92  void resetTilehash();
93 
99  void cleanupTilehash();
100 
105  quint64 volatileCacheLimit() const;
106 
110  QList<TileId> visibleTiles() const;
111 
116  int tileCount() const;
117 
122  void setVolatileCacheLimit( quint64 kiloBytes );
123 
128  void clear();
129 
132  void updateTile(TileId const & tileId, QImage const &tileImage );
133 
134  RenderState renderState() const;
135 
136  Q_SIGNALS:
137  void tileLoaded( TileId const &tileId );
138  void cleared();
139 
140  private:
141  Q_DISABLE_COPY( StackedTileLoader )
142 
143  friend class StackedTileLoaderPrivate;
144  StackedTileLoaderPrivate* const d;
145 };
146 
147 }
148 
149 #endif
TileId.h
Marble::StackedTileLoader::tileLoaded
void tileLoaded(TileId const &tileId)
Marble::GeoSceneTiled::Projection
Projection
Definition: GeoSceneTiled.h:47
Marble::StackedTileLoader::StackedTileLoader
StackedTileLoader(MergedLayerDecorator *mergedLayerDecorator, QObject *parent=0)
Creates a new tile loader.
Definition: StackedTileLoader.cpp:58
Marble::StackedTileLoader
Tile loading from a quad tree.
Definition: StackedTileLoader.h:59
Marble::StackedTile
A single tile that consists of a stack of Tile layers.
Definition: StackedTile.h:56
Marble::StackedTileLoader::clear
void clear()
Effectively triggers a reload of all tiles that are currently in use and clears the tile cache in phy...
Definition: StackedTileLoader.cpp:220
Marble::MergedLayerDecorator
Definition: MergedLayerDecorator.h:39
Marble::StackedTileLoader::~StackedTileLoader
virtual ~StackedTileLoader()
Definition: StackedTileLoader.cpp:64
Marble::StackedTileLoader::StackedTileLoaderPrivate
friend class StackedTileLoaderPrivate
Definition: StackedTileLoader.h:143
RenderState.h
Marble::StackedTileLoader::setVolatileCacheLimit
void setVolatileCacheLimit(quint64 kiloBytes)
Set the limit of the volatile (in RAM) cache.
Definition: StackedTileLoader.cpp:182
QObject
Marble::StackedTileLoader::cleanupTilehash
void cleanupTilehash()
Cleans up the internal tile hash.
Definition: StackedTileLoader.cpp:100
Marble::StackedTileLoader::updateTile
void updateTile(TileId const &tileId, QImage const &tileImage)
Definition: StackedTileLoader.cpp:188
QString
QList
Marble::StackedTileLoader::tileSize
QSize tileSize() const
Definition: StackedTileLoader.cpp:85
Marble::RenderState
Definition: RenderState.h:22
QSize
Marble::StackedTileLoader::visibleTiles
QList< TileId > visibleTiles() const
Reloads the tiles that are currently displayed.
Definition: StackedTileLoader.cpp:172
QImage
Marble::StackedTileLoader::tileColumnCount
int tileColumnCount(int level) const
Definition: StackedTileLoader.cpp:70
Marble::StackedTileLoader::tileRowCount
int tileRowCount(int level) const
Definition: StackedTileLoader.cpp:75
Marble::TileId
Definition: TileId.h:27
GeoSceneTiled.h
Marble::StackedTileLoader::renderState
RenderState renderState() const
Definition: StackedTileLoader.cpp:209
Marble::StackedTileLoader::tileProjection
GeoSceneTextureTile::Projection tileProjection() const
Definition: StackedTileLoader.cpp:80
Marble::StackedTileLoader::cleared
void cleared()
Marble::StackedTileLoader::tileCount
int tileCount() const
Return the number of tiles in the cache.
Definition: StackedTileLoader.cpp:177
Marble::StackedTileLoader::volatileCacheLimit
quint64 volatileCacheLimit() const
Returns the limit of the volatile (in RAM) cache.
Definition: StackedTileLoader.cpp:167
QObject::parent
QObject * parent() const
Marble::StackedTileLoader::resetTilehash
void resetTilehash()
Resets the internal tile hash.
Definition: StackedTileLoader.cpp:90
Marble::StackedTileLoader::loadTile
const StackedTile * loadTile(TileId const &stackedTileId)
Loads a tile and returns it.
Definition: StackedTileLoader.cpp:118
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:42 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal