diff options
Diffstat (limited to 'src/mbgl/renderer/layers/render_heatmap_layer.hpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_heatmap_layer.hpp | 18 |
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 |