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_background_layer.cpp8
-rw-r--r--src/mbgl/renderer/layers/render_background_layer.hpp1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/mbgl/renderer/layers/render_background_layer.cpp b/src/mbgl/renderer/layers/render_background_layer.cpp
index f20bd7ae5e..3e510ef352 100644
--- a/src/mbgl/renderer/layers/render_background_layer.cpp
+++ b/src/mbgl/renderer/layers/render_background_layer.cpp
@@ -123,4 +123,12 @@ void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) {
}
}
+optional<Color> RenderBackgroundLayer::getSolidBackground() const {
+ if (!evaluated.get<BackgroundPattern>().from.empty()) {
+ return nullopt;
+ }
+
+ return { evaluated.get<BackgroundColor>() * evaluated.get<BackgroundOpacity>() };
+}
+
} // namespace mbgl
diff --git a/src/mbgl/renderer/layers/render_background_layer.hpp b/src/mbgl/renderer/layers/render_background_layer.hpp
index 854c077a62..fef9ad97b4 100644
--- a/src/mbgl/renderer/layers/render_background_layer.hpp
+++ b/src/mbgl/renderer/layers/render_background_layer.hpp
@@ -15,6 +15,7 @@ public:
void evaluate(const PropertyEvaluationParameters&) override;
bool hasTransition() const override;
bool hasCrossfade() const override;
+ optional<Color> getSolidBackground() const final;
void render(PaintParameters&, RenderSource*) override;
std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const override;