File indexing completed on 2025-01-05 03:59:37
0001 /* 0002 SPDX-FileCopyrightText: 2010 Jens-Michael Hoffmann <jmho@c-xx.com> 0003 SPDX-FileCopyrightText: 2010-2012 Bernhard Beschow <bbeschow@cs.tu-berlin.de> 0004 0005 SPDX-License-Identifier: LGPL-2.1-or-later 0006 */ 0007 0008 #ifndef MARBLE_TILECOORDSPYRAMID_H 0009 #define MARBLE_TILECOORDSPYRAMID_H 0010 0011 #include <QtGlobal> 0012 #include "digikam_export.h" 0013 0014 class QRect; 0015 0016 namespace Marble 0017 { 0018 0019 class DIGIKAM_EXPORT TileCoordsPyramid 0020 { 0021 public: 0022 TileCoordsPyramid( int const topLevel, int const bottomLevel ); 0023 TileCoordsPyramid( TileCoordsPyramid const & other ); 0024 TileCoordsPyramid(); 0025 TileCoordsPyramid & operator=( TileCoordsPyramid const & rhs ); 0026 ~TileCoordsPyramid(); 0027 0028 int topLevel() const; 0029 int bottomLevel() const; 0030 void setBottomLevelCoords( QRect const & coords ); 0031 QRect coords( int const level ) const; 0032 0033 void setValidTileLevels( const QVector<int> validLevels ); 0034 QVector<int> validTileLevels(); 0035 0036 /** 0037 * @brief returns the number of tiles covered by one pyramid 0038 **/ 0039 qint64 tilesCount() const; 0040 0041 private: 0042 void swap( TileCoordsPyramid & other ); 0043 class Private; 0044 Private * d; // not const, needs to be swapable 0045 }; 0046 0047 } 0048 0049 #endif