1 #pragma once 2 3 #include <mbgl/renderer/render_layer.hpp> 4 #include <mbgl/style/layers/background_layer_impl.hpp> 5 #include <mbgl/style/layers/background_layer_properties.hpp> 6 7 namespace mbgl { 8 9 class RenderBackgroundLayer: public RenderLayer { 10 public: 11 RenderBackgroundLayer(Immutable<style::BackgroundLayer::Impl>); 12 ~RenderBackgroundLayer() final = default; 13 14 void transition(const TransitionParameters&) override; 15 void evaluate(const PropertyEvaluationParameters&) override; 16 bool hasTransition() const override; 17 void render(PaintParameters&, RenderSource*) override; 18 19 std::unique_ptr<Bucket> createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const override; 20 21 // Paint properties 22 style::BackgroundPaintProperties::Unevaluated unevaluated; 23 style::BackgroundPaintProperties::PossiblyEvaluated evaluated; 24 25 const style::BackgroundLayer::Impl& impl() const; 26 }; 27 28 template <> is() const29inline bool RenderLayer::is<RenderBackgroundLayer>() const { 30 return type == style::LayerType::Background; 31 } 32 33 } // namespace mbgl 34