#pragma once #include #include #include #include #include #include #include namespace mbgl { class RenderLineLayer final : public RenderLayer { public: explicit RenderLineLayer(Immutable); ~RenderLineLayer() override; private: void transition(const TransitionParameters&) override; void evaluate(const PropertyEvaluationParameters&) override; bool hasTransition() const override; bool hasCrossfade() const override; void prepare(const LayerPrepareParameters&) override; void upload(gfx::UploadPass&) override; void render(PaintParameters&) override; bool queryIntersectsFeature(const GeometryCoordinates&, const GeometryTileFeature&, float, const TransformState&, float, const mat4&, const FeatureState&) const override; // Paint properties style::LinePaintProperties::Unevaluated unevaluated; float getLineWidth(const GeometryTileFeature&, float, const FeatureState&) const; void updateColorRamp(); PremultipliedImage colorRamp; optional colorRampTexture; }; } // namespace mbgl