summaryrefslogtreecommitdiff
path: root/src/mbgl/layout
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-01-30 17:45:31 +0200
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-01-31 11:50:17 +0200
commit429ea6aba5a2600628278d647cbd4eb0b1b7c968 (patch)
tree3d7ee0aacf94387d86b4381757ca22fee627e6de /src/mbgl/layout
parent1d6c36a3e730e5a0ef8cdb14a0e4cebe38c57654 (diff)
downloadqtlocation-mapboxgl-429ea6aba5a2600628278d647cbd4eb0b1b7c968.tar.gz
[core] Remove paintProperties() method from some render layers
PatternLayout can directly access layer's `evaluated` field. Besides, obviates accessing of moved `evaluatedProps` inside PatternLayout constructor.
Diffstat (limited to 'src/mbgl/layout')
-rw-r--r--src/mbgl/layout/pattern_layout.hpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mbgl/layout/pattern_layout.hpp b/src/mbgl/layout/pattern_layout.hpp
index a29221c547..744f6ab170 100644
--- a/src/mbgl/layout/pattern_layout.hpp
+++ b/src/mbgl/layout/pattern_layout.hpp
@@ -13,7 +13,7 @@ public:
std::string max;
};
-using PatternLayerMap = std::unordered_map<std::string, PatternDependency>;
+using PatternLayerMap = std::map<std::string, PatternDependency>;
class PatternFeature {
public:
@@ -44,8 +44,7 @@ public:
groupID = renderLayer->getID();
for (const auto& layer : layers) {
- const typename B::PossiblyEvaluatedPaintProperties evaluatedProps = static_cast<const PatternLayer*>(layer)->paintProperties();
- layerPaintProperties.emplace(layer->getID(), std::move(evaluatedProps));
+ const typename B::PossiblyEvaluatedPaintProperties evaluatedProps = static_cast<const PatternLayer*>(layer)->evaluated;
const auto patternProperty = evaluatedProps.template get<typename PatternLayer::PatternProperty>();
const auto constantPattern = patternProperty.constantOr(Faded<std::basic_string<char> >{ "", ""});
// determine if layer group has any layers that use *-pattern property and add
@@ -57,6 +56,7 @@ public:
patternDependencies.emplace(constantPattern.to, ImageType::Pattern);
patternDependencies.emplace(constantPattern.from, ImageType::Pattern);
}
+ layerPaintProperties.emplace(layer->getID(), std::move(evaluatedProps));
}
const size_t featureCount = sourceLayer->featureCount();
@@ -65,7 +65,7 @@ public:
if (!leader.filter(style::expression::EvaluationContext { this->zoom, feature.get() }))
continue;
- std::unordered_map<std::string, PatternDependency> patternDependencyMap;
+ PatternLayerMap patternDependencyMap;
if (hasPattern) {
for (const auto& layer : layers) {
const auto it = layerPaintProperties.find(layer->getID());