diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-07-01 14:07:53 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-07-04 16:56:43 +0300 |
commit | b1cbc2f2451d6eea9a8ad2adde1c8087ab581192 (patch) | |
tree | 2daf3ff070899e14c645df51241bc5ec4f57dee2 /src/mbgl/tile/geometry_tile.hpp | |
parent | d57083497509a1918fcccfb3005be2ba532e0266 (diff) | |
download | qtlocation-mapboxgl-b1cbc2f2451d6eea9a8ad2adde1c8087ab581192.tar.gz |
[core] Geometry tile keeps layout result as a shared pointer
Diffstat (limited to 'src/mbgl/tile/geometry_tile.hpp')
-rw-r--r-- | src/mbgl/tile/geometry_tile.hpp | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/mbgl/tile/geometry_tile.hpp b/src/mbgl/tile/geometry_tile.hpp index c206dd1157..0373161d10 100644 --- a/src/mbgl/tile/geometry_tile.hpp +++ b/src/mbgl/tile/geometry_tile.hpp @@ -67,8 +67,8 @@ public: class LayoutResult { public: - std::unordered_map<std::string, LayerRenderData> renderData; - std::unique_ptr<FeatureIndex> featureIndex; + std::unordered_map<std::string, LayerRenderData> layerRenderData; + std::shared_ptr<FeatureIndex> featureIndex; optional<AlphaImage> glyphAtlasImage; ImageAtlas iconAtlas; @@ -76,12 +76,12 @@ public: std::unique_ptr<FeatureIndex> featureIndex_, optional<AlphaImage> glyphAtlasImage_, ImageAtlas iconAtlas_) - : renderData(std::move(renderData_)), + : layerRenderData(std::move(renderData_)), featureIndex(std::move(featureIndex_)), glyphAtlasImage(std::move(glyphAtlasImage_)), iconAtlas(std::move(iconAtlas_)) {} }; - void onLayout(LayoutResult, uint64_t correlationID); + void onLayout(std::shared_ptr<LayoutResult>, uint64_t correlationID); void onError(std::exception_ptr, uint64_t correlationID); @@ -90,15 +90,12 @@ public: void markRenderedPreviously() override; void performedFadePlacement() override; const optional<ImagePosition> getPattern(const std::string& pattern) const; - const std::shared_ptr<FeatureIndex> getFeatureIndex() const { return latestFeatureIndex; } + const std::shared_ptr<FeatureIndex> getFeatureIndex() const; const std::string sourceID; protected: - const GeometryTileData* getData() { - return latestFeatureIndex ? latestFeatureIndex->getData() : nullptr; - } - + const GeometryTileData* getData() const; LayerRenderData* getMutableLayerRenderData(const style::Layer::Impl&); private: @@ -116,12 +113,7 @@ private: uint64_t correlationID = 0; - std::unordered_map<std::string, LayerRenderData> layerIdToLayerRenderData; - - std::shared_ptr<FeatureIndex> latestFeatureIndex; - - optional<AlphaImage> glyphAtlasImage; - ImageAtlas iconAtlas; + std::shared_ptr<LayoutResult> layoutResult; const MapMode mode; |