#pragma once #include #include namespace mbgl { class RenderCustomLayer: public RenderLayer { public: RenderCustomLayer(Immutable); ~RenderCustomLayer() final; void transition(const TransitionParameters&) final {} void evaluate(const PropertyEvaluationParameters&) override; bool hasTransition() const override; std::unique_ptr createBucket(const BucketParameters&, const std::vector&) const final; void render(PaintParameters&, RenderSource*) final; const style::CustomLayer::Impl& impl() const; void markContextDestroyed() { contextDestroyed = true; }; private: bool initialized = false; bool contextDestroyed = false; void * context = nullptr; }; template <> inline bool RenderLayer::is() const { return type == style::LayerType::Custom; } } // namespace mbgl