diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2015-10-26 10:14:24 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2015-11-10 11:33:17 -0800 |
commit | a5625675890213f94de7632d4ef152ade627c9a5 (patch) | |
tree | d6a3f816e80417bbedc16d0b34383d8ee191bf92 /src/mbgl/layer/line_layer.cpp | |
parent | 728a9858ea88751e74de57694746c2ea1546ce25 (diff) | |
download | qtlocation-mapboxgl-a5625675890213f94de7632d4ef152ade627c9a5.tar.gz |
[core] Eliminate use of ClassProperties for layout
Diffstat (limited to 'src/mbgl/layer/line_layer.cpp')
-rw-r--r-- | src/mbgl/layer/line_layer.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/mbgl/layer/line_layer.cpp b/src/mbgl/layer/line_layer.cpp index 6b98ffa9ad..fa1f22d5f7 100644 --- a/src/mbgl/layer/line_layer.cpp +++ b/src/mbgl/layer/line_layer.cpp @@ -15,10 +15,10 @@ std::unique_ptr<StyleLayer> LineLayer::clone() const { } void LineLayer::parseLayout(const JSVal& value) { - parseProperty<Function<CapType>>("line-cap", PropertyKey::LineCap, layout, value); - parseProperty<Function<JoinType>>("line-join", PropertyKey::LineJoin, layout, value); - parseProperty<Function<float>>("line-miter-limit", PropertyKey::LineMiterLimit, layout, value); - parseProperty<Function<float>>("line-round-limit", PropertyKey::LineRoundLimit, layout, value); + layout.cap.parse("line-cap", value); + layout.join.parse("line-join", value); + layout.miterLimit.parse("line-miter-limit", value); + layout.roundLimit.parse("line-round-limit", value); } void LineLayer::parsePaints(const JSVal& layer) { @@ -73,12 +73,13 @@ void LineLayer::recalculate(const StyleCalculationParameters& parameters) { std::unique_ptr<Bucket> LineLayer::createBucket(StyleBucketParameters& parameters) const { auto bucket = std::make_unique<LineBucket>(); - const float z = parameters.tileID.z; + bucket->layout = layout; - layout.calculate(PropertyKey::LineCap, bucket->layout.cap, z); - layout.calculate(PropertyKey::LineJoin, bucket->layout.join, z); - layout.calculate(PropertyKey::LineMiterLimit, bucket->layout.miter_limit, z); - layout.calculate(PropertyKey::LineRoundLimit, bucket->layout.round_limit, z); + StyleCalculationParameters p(parameters.tileID.z); + bucket->layout.cap.calculate(p); + bucket->layout.join.calculate(p); + bucket->layout.miterLimit.calculate(p); + bucket->layout.roundLimit.calculate(p); parameters.eachFilteredFeature(filter, [&] (const auto& feature) { bucket->addGeometry(feature.getGeometries()); |