#pragma once #include #include #include #include namespace mbgl { class RenderLocationIndicatorImpl; class RenderLocationIndicatorLayer final : public RenderLayer { public: explicit RenderLocationIndicatorLayer(Immutable); ~RenderLocationIndicatorLayer() override; private: void transition(const TransitionParameters &) override; void evaluate(const PropertyEvaluationParameters &) override; bool hasTransition() const override; bool hasCrossfade() const override; void markContextDestroyed() override; void prepare(const LayerPrepareParameters &) override; void render(PaintParameters &) override; void populateDynamicRenderFeatureIndex(DynamicFeatureIndex &) const override; bool contextDestroyed = false; std::unique_ptr renderImpl; style::LocationIndicatorPaintProperties::Unevaluated unevaluated; }; } // namespace mbgl