#pragma once #include #include #include namespace mbgl { class RenderLineLayer: public RenderLayer { public: RenderLineLayer(const style::LineLayer::Impl&); ~RenderLineLayer() final = default; std::unique_ptr clone() const override; void cascade(const style::CascadeParameters&) override; bool evaluate(const style::PropertyEvaluationParameters&) override; bool queryIntersectsFeature( const GeometryCoordinates&, const GeometryTileFeature&, const float, const float, const float) const override; std::unique_ptr createBucket(const BucketParameters&, const std::vector&) const override; // Paint properties style::LinePaintProperties::Unevaluated unevaluated; style::LinePaintProperties::Evaluated evaluated; const style::LineLayer::Impl* const impl; // Special case float dashLineWidth = 1; private: float getLineWidth(const GeometryTileFeature&, const float) const; }; template <> inline bool RenderLayer::is() const { return type == style::LayerType::Line; } } // namespace mbgl