diff options
Diffstat (limited to 'src/mbgl/style/layers/circle_layer.cpp')
-rw-r--r-- | src/mbgl/style/layers/circle_layer.cpp | 52 |
1 files changed, 34 insertions, 18 deletions
diff --git a/src/mbgl/style/layers/circle_layer.cpp b/src/mbgl/style/layers/circle_layer.cpp index bdfbf629e6..96cc0b610c 100644 --- a/src/mbgl/style/layers/circle_layer.cpp +++ b/src/mbgl/style/layers/circle_layer.cpp @@ -6,10 +6,11 @@ namespace mbgl { namespace style { -CircleLayer::CircleLayer(const std::string& layerID) +CircleLayer::CircleLayer(const std::string& layerID, const std::string& sourceID) : Layer(Type::Circle, std::make_unique<Impl>()) , impl(static_cast<Impl*>(baseImpl.get())) { impl->id = layerID; + impl->source = sourceID; } CircleLayer::CircleLayer(const Impl& other) @@ -23,17 +24,24 @@ std::unique_ptr<Layer> CircleLayer::Impl::clone() const { return std::make_unique<CircleLayer>(*this); } -// Source - -void CircleLayer::setSource(const std::string& sourceID, const std::string& sourceLayer) { - impl->source = sourceID; - impl->sourceLayer = sourceLayer; +std::unique_ptr<Layer> CircleLayer::Impl::cloneRef(const std::string& id_) const { + auto result = std::make_unique<CircleLayer>(*this); + result->impl->id = id_; + result->impl->ref = this->id; + result->impl->paint = CirclePaintProperties(); + return std::move(result); } +// Source + const std::string& CircleLayer::getSourceID() const { return impl->source; } +void CircleLayer::setSourceLayer(const std::string& sourceLayer) { + impl->sourceLayer = sourceLayer; +} + const std::string& CircleLayer::getSourceLayer() const { return impl->sourceLayer; } @@ -57,48 +65,56 @@ PropertyValue<float> CircleLayer::getCircleRadius() const { return impl->paint.circleRadius.get(); } -void CircleLayer::setCircleRadius(PropertyValue<float> value) { - impl->paint.circleRadius.set(value); +void CircleLayer::setCircleRadius(PropertyValue<float> value, const optional<std::string>& klass) { + impl->paint.circleRadius.set(value, klass); } PropertyValue<Color> CircleLayer::getCircleColor() const { return impl->paint.circleColor.get(); } -void CircleLayer::setCircleColor(PropertyValue<Color> value) { - impl->paint.circleColor.set(value); +void CircleLayer::setCircleColor(PropertyValue<Color> value, const optional<std::string>& klass) { + impl->paint.circleColor.set(value, klass); } PropertyValue<float> CircleLayer::getCircleBlur() const { return impl->paint.circleBlur.get(); } -void CircleLayer::setCircleBlur(PropertyValue<float> value) { - impl->paint.circleBlur.set(value); +void CircleLayer::setCircleBlur(PropertyValue<float> value, const optional<std::string>& klass) { + impl->paint.circleBlur.set(value, klass); } PropertyValue<float> CircleLayer::getCircleOpacity() const { return impl->paint.circleOpacity.get(); } -void CircleLayer::setCircleOpacity(PropertyValue<float> value) { - impl->paint.circleOpacity.set(value); +void CircleLayer::setCircleOpacity(PropertyValue<float> value, const optional<std::string>& klass) { + impl->paint.circleOpacity.set(value, klass); } PropertyValue<std::array<float, 2>> CircleLayer::getCircleTranslate() const { return impl->paint.circleTranslate.get(); } -void CircleLayer::setCircleTranslate(PropertyValue<std::array<float, 2>> value) { - impl->paint.circleTranslate.set(value); +void CircleLayer::setCircleTranslate(PropertyValue<std::array<float, 2>> value, const optional<std::string>& klass) { + impl->paint.circleTranslate.set(value, klass); } PropertyValue<TranslateAnchorType> CircleLayer::getCircleTranslateAnchor() const { return impl->paint.circleTranslateAnchor.get(); } -void CircleLayer::setCircleTranslateAnchor(PropertyValue<TranslateAnchorType> value) { - impl->paint.circleTranslateAnchor.set(value); +void CircleLayer::setCircleTranslateAnchor(PropertyValue<TranslateAnchorType> value, const optional<std::string>& klass) { + impl->paint.circleTranslateAnchor.set(value, klass); +} + +PropertyValue<CirclePitchScaleType> CircleLayer::getCirclePitchScale() const { + return impl->paint.circlePitchScale.get(); +} + +void CircleLayer::setCirclePitchScale(PropertyValue<CirclePitchScaleType> value, const optional<std::string>& klass) { + impl->paint.circlePitchScale.set(value, klass); } } // namespace style |