diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-15 14:24:26 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-05-19 18:15:33 +0300 |
commit | 0e45138547e906a0a3d918e9ace262e53d35fb46 (patch) | |
tree | e12a7f16cc440b48f1ce5563340ac15876c31def /src/mbgl/renderer/render_layer.hpp | |
parent | 52a69044e8a5dfc1df518673e83909b184040615 (diff) | |
download | qtlocation-mapboxgl-0e45138547e906a0a3d918e9ace262e53d35fb46.tar.gz |
[core] RenderLayerSymbolInterface is not used in CrossTileSymbolIndex
Diffstat (limited to 'src/mbgl/renderer/render_layer.hpp')
-rw-r--r-- | src/mbgl/renderer/render_layer.hpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/mbgl/renderer/render_layer.hpp b/src/mbgl/renderer/render_layer.hpp index 8b01739c31..271e38f320 100644 --- a/src/mbgl/renderer/render_layer.hpp +++ b/src/mbgl/renderer/render_layer.hpp @@ -19,6 +19,7 @@ class RenderSource; class RenderLayerSymbolInterface; class RenderTile; class TransformState; +class GeometryTile; class LayerRenderData { public: @@ -26,6 +27,12 @@ public: Immutable<style::LayerProperties> layerProperties; }; +class LayerPlacementData { +public: + std::reference_wrapper<Bucket> bucket; + std::reference_wrapper<RenderTile> tile; +}; + class RenderLayer { protected: RenderLayer(Immutable<style::LayerProperties>); @@ -79,6 +86,10 @@ public: using RenderTiles = std::vector<std::reference_wrapper<RenderTile>>; virtual void setRenderTiles(RenderTiles, const TransformState&); + const std::vector<LayerPlacementData>& getPlacementData() const { + return placementData; + } + // Latest evaluated properties. Immutable<style::LayerProperties> evaluatedProperties; // Private implementation @@ -96,12 +107,14 @@ protected: protected: // Stores current set of tiles to be rendered for this layer. - std::vector<std::reference_wrapper<RenderTile>> renderTiles; + RenderTiles renderTiles; // Stores what render passes this layer is currently enabled for. This depends on the // evaluated StyleProperties object and is updated accordingly. RenderPass passes = RenderPass::None; + std::vector<LayerPlacementData> placementData; + private: RenderTiles filterRenderTiles(RenderTiles) const; // Some layers may not render correctly on some hardware when the vertex attribute limit of |