#pragma once #include #include #include #include namespace mbgl { class RenderHillshadeLayer: public RenderLayer { public: RenderHillshadeLayer(Immutable); ~RenderHillshadeLayer() final = default; void transition(const TransitionParameters&) override; void evaluate(const PropertyEvaluationParameters&) override; bool hasTransition() const override; bool hasCrossfade() const override; void render(PaintParameters&, RenderSource* src) override; std::unique_ptr createBucket(const BucketParameters&, const std::vector&) const override; // Paint properties style::HillshadePaintProperties::Unevaluated unevaluated; style::HillshadePaintProperties::PossiblyEvaluated evaluated; const style::HillshadeLayer::Impl& impl() const; private: const std::array getLatRange(const UnwrappedTileID& id); const std::array getLight(const PaintParameters& parameters); }; } // namespace mbgl