summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/render_layer.hpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-05-15 14:24:26 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-05-19 18:15:33 +0300
commit0e45138547e906a0a3d918e9ace262e53d35fb46 (patch)
treee12a7f16cc440b48f1ce5563340ac15876c31def /src/mbgl/renderer/render_layer.hpp
parent52a69044e8a5dfc1df518673e83909b184040615 (diff)
downloadqtlocation-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.hpp15
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