summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/layers')
-rw-r--r--src/mbgl/renderer/layers/render_heatmap_layer.cpp4
-rw-r--r--src/mbgl/renderer/layers/render_heatmap_layer.hpp6
-rw-r--r--src/mbgl/renderer/layers/render_line_layer.cpp4
-rw-r--r--src/mbgl/renderer/layers/render_line_layer.hpp3
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;