From 060ba93036451e07abc70951d87c1d1fa896cbd8 Mon Sep 17 00:00:00 2001 From: ExMix Date: Wed, 20 Nov 2013 12:00:33 +0300 Subject: [PATCH] [drape] separete TileKey as copyable identifier of logical tile --- drape_frontend/tile_info.hpp | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/drape_frontend/tile_info.hpp b/drape_frontend/tile_info.hpp index c92f1a5749..3ec981507d 100644 --- a/drape_frontend/tile_info.hpp +++ b/drape_frontend/tile_info.hpp @@ -16,13 +16,14 @@ namespace df bool m_isOwner; }; - class TileInfo : private noncopyable + struct TileKey { public: - TileInfo(int x, int y, int zoomLevel) + TileKey() : m_x(-1), m_y(-1), m_zoomLevel(-1) {} + TileKey(int x, int y, int zoomLevel) : m_x(x), m_y(y), m_zoomLevel(zoomLevel) {} - bool operator < (const TileInfo & other) const + bool operator < (const TileKey & other) const { if (m_zoomLevel != other.m_zoomLevel) return m_zoomLevel < other.m_zoomLevel; @@ -33,7 +34,25 @@ namespace df return false; } - int m_x, m_y, m_zoomLevel; + int m_x; + int m_y; + int m_zoomLevel; + }; + + class TileInfo : private noncopyable + { + public: + TileInfo(const TileKey & key) + : m_key(key) {} + TileInfo(int x, int y, int zoomLevel) + : m_key(x, y, zoomLevel) {} + + bool operator < (const TileInfo & other) const + { + return m_key < other.m_key; + } + + TileKey m_key; vector m_featureInfo; }; }