#ifndef MBGL_CIRCLE_LAYER #define MBGL_CIRCLE_LAYER #include #include namespace mbgl { class CirclePaintProperties { public: PaintProperty radius { 5.0f }; PaintProperty color { {{ 0, 0, 0, 1 }} }; PaintProperty opacity { 1.0f }; PaintProperty> translate { {{ 0, 0 }} }; PaintProperty translateAnchor { TranslateAnchorType::Map }; PaintProperty blur { 0 }; bool isVisible() const { return radius > 0 && color.value[3] > 0 && opacity > 0; } }; class CircleLayer : public StyleLayer { public: 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; CirclePaintProperties paint; }; } // namespace mbgl #endif