summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAnsis Brammanis <ansis@mapbox.com>2018-05-17 14:29:00 -0400
committerAnsis Brammanis <ansis.brammanis@gmail.com>2018-05-22 14:58:11 -0400
commitba07c873aa2c4bd8ef1b185660f6feeb4b12483e (patch)
treec2f771f37c1b3b22c95f4d8b7a8439da446440b0 /include
parent5e36f669acd756d26e2dfa6db1a2a94bd1ceb701 (diff)
downloadqtlocation-mapboxgl-ba07c873aa2c4bd8ef1b185660f6feeb4b12483e.tar.gz
[core] re-assign ids when lng jumps to avoid flicker
Diffstat (limited to 'include')
-rw-r--r--include/mbgl/tile/tile_id.hpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/mbgl/tile/tile_id.hpp b/include/mbgl/tile/tile_id.hpp
index 3b52596f6c..dd2fba573d 100644
--- a/include/mbgl/tile/tile_id.hpp
+++ b/include/mbgl/tile/tile_id.hpp
@@ -85,9 +85,10 @@ public:
std::array<UnwrappedTileID, 4> children() const;
OverscaledTileID overscaleTo(uint8_t z) const;
float pixelsToTileUnits(float pixelValue, float zoom) const;
+ UnwrappedTileID unwrapTo(int16_t wrap);
- const int16_t wrap;
- const CanonicalTileID canonical;
+ int16_t wrap;
+ CanonicalTileID canonical;
};
::std::ostream& operator<<(::std::ostream& os, const UnwrappedTileID& rhs);
@@ -220,6 +221,10 @@ inline bool UnwrappedTileID::operator<(const UnwrappedTileID& rhs) const {
return std::tie(wrap, canonical) < std::tie(rhs.wrap, rhs.canonical);
}
+inline UnwrappedTileID UnwrappedTileID::unwrapTo(int16_t newWrap) {
+ return { newWrap, canonical };
+}
+
inline bool UnwrappedTileID::isChildOf(const UnwrappedTileID& parent) const {
return wrap == parent.wrap && canonical.isChildOf(parent.canonical);
}