diff options
Diffstat (limited to 'src/mbgl/renderer/layers')
4 files changed, 14 insertions, 3 deletions
diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.cpp b/src/mbgl/renderer/layers/render_heatmap_layer.cpp index 62330bcab7..4e5e890358 100644 --- a/src/mbgl/renderer/layers/render_heatmap_layer.cpp +++ b/src/mbgl/renderer/layers/render_heatmap_layer.cpp @@ -185,6 +185,10 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) { } } +void RenderHeatmapLayer::update() { + updateColorRamp(); +} + void RenderHeatmapLayer::updateColorRamp() { auto colorValue = unevaluated.get<HeatmapColor>().getValue(); if (colorValue.isUndefined()) { diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.hpp b/src/mbgl/renderer/layers/render_heatmap_layer.hpp index 6f8163ebf1..9aca8bdc93 100644 --- a/src/mbgl/renderer/layers/render_heatmap_layer.hpp +++ b/src/mbgl/renderer/layers/render_heatmap_layer.hpp @@ -18,6 +18,7 @@ public: bool hasTransition() const override; bool hasCrossfade() const override; void render(PaintParameters&, RenderSource*) override; + void update() final; bool queryIntersectsFeature( const GeometryCoordinates&, @@ -27,8 +28,6 @@ public: const float, const mat4&) const override; - void updateColorRamp(); - std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const override; // Paint properties @@ -40,6 +39,9 @@ public: PremultipliedImage colorRamp; optional<OffscreenTexture> renderTexture; optional<gl::Texture> colorRampTexture; + +private: + void updateColorRamp(); }; template <> diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp index 2811a1ffdd..1edd69237e 100644 --- a/src/mbgl/renderer/layers/render_line_layer.cpp +++ b/src/mbgl/renderer/layers/render_line_layer.cpp @@ -294,4 +294,8 @@ float RenderLineLayer::getLineWidth(const GeometryTileFeature& feature, const fl } +void RenderLineLayer::update() { + updateColorRamp(); +} + } // namespace mbgl diff --git a/src/mbgl/renderer/layers/render_line_layer.hpp b/src/mbgl/renderer/layers/render_line_layer.hpp index d7786ded34..cd657dfe16 100644 --- a/src/mbgl/renderer/layers/render_line_layer.hpp +++ b/src/mbgl/renderer/layers/render_line_layer.hpp @@ -32,6 +32,7 @@ public: bool hasTransition() const override; bool hasCrossfade() const override; void render(PaintParameters&, RenderSource*) override; + void update() final; RenderLinePaintProperties::PossiblyEvaluated paintProperties() const; @@ -43,7 +44,6 @@ public: const float, const mat4&) const override; - void updateColorRamp(); std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const override; std::unique_ptr<Layout> createLayout(const BucketParameters&, @@ -59,6 +59,7 @@ public: private: float getLineWidth(const GeometryTileFeature&, const float) const; + void updateColorRamp(); CrossfadeParameters crossfade; PremultipliedImage colorRamp; optional<gl::Texture> colorRampTexture; |