#pragma once #include #include namespace mbgl { class CirclePaintProperties { public: PaintProperty circleRadius { 5.0f }; PaintProperty circleColor { {{ 0, 0, 0, 1 }} }; PaintProperty circleOpacity { 1.0f }; PaintProperty> circleTranslate { {{ 0, 0 }} }; PaintProperty circleTranslateAnchor { TranslateAnchorType::Map }; PaintProperty circleBlur { 0 }; }; class CircleLayer : public StyleLayer { public: CircleLayer() : StyleLayer(Type::Circle) {} std::unique_ptr clone() const override; void parseLayout(const JSValue&) override {}; void parsePaints(const JSValue&) override; void cascade(const StyleCascadeParameters&) override; bool recalculate(const StyleCalculationParameters&) override; std::unique_ptr createBucket(StyleBucketParameters&) const override; float getQueryRadius() const override; bool queryIntersectsGeometry( const GeometryCollection& queryGeometry, const GeometryCollection& geometry, const float bearing, const float pixelsToTileUnits) const override; CirclePaintProperties paint; }; template <> inline bool StyleLayer::is() const { return type == Type::Circle; } } // namespace mbgl