summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers/render_heatmap_layer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/layers/render_heatmap_layer.hpp')
-rw-r--r--src/mbgl/renderer/layers/render_heatmap_layer.hpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.hpp b/src/mbgl/renderer/layers/render_heatmap_layer.hpp
index 27e27adb28..229a0eabbd 100644
--- a/src/mbgl/renderer/layers/render_heatmap_layer.hpp
+++ b/src/mbgl/renderer/layers/render_heatmap_layer.hpp
@@ -3,24 +3,28 @@
#include <mbgl/renderer/render_layer.hpp>
#include <mbgl/style/layers/heatmap_layer_impl.hpp>
#include <mbgl/style/layers/heatmap_layer_properties.hpp>
-#include <mbgl/gfx/texture.hpp>
#include <mbgl/gfx/offscreen_texture.hpp>
-#include <mbgl/util/optional.hpp>
namespace mbgl {
+class ColorRampRenderData;
+
class RenderHeatmapLayer final : public RenderLayer {
public:
+ struct RenderData {
+ std::unique_ptr<gfx::OffscreenTexture> texture = nullptr;
+ };
explicit RenderHeatmapLayer(Immutable<style::HeatmapLayer::Impl>);
~RenderHeatmapLayer() override;
private:
+ LayerRenderer createRenderer() override;
+ LayerUploader createUploader() override;
void transition(const TransitionParameters&) override;
void evaluate(const PropertyEvaluationParameters&) override;
bool hasTransition() const override;
bool hasCrossfade() const override;
- void upload(gfx::UploadPass&) override;
- void render(PaintParameters&) override;
+ void render(PaintParameters&) override {}
bool queryIntersectsFeature(
const GeometryCoordinates&,
@@ -32,11 +36,11 @@ private:
// Paint properties
style::HeatmapPaintProperties::Unevaluated unevaluated;
- PremultipliedImage colorRamp;
- std::unique_ptr<gfx::OffscreenTexture> renderTexture;
- optional<gfx::Texture> colorRampTexture;
+ // Data shared between renderItems.
+ std::shared_ptr<RenderData> sharedRenderData;
void updateColorRamp();
+ std::shared_ptr<ColorRampRenderData> colorRamp;
};
} // namespace mbgl