summaryrefslogtreecommitdiff
path: root/src/mbgl/style/style.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/style.cpp')
-rw-r--r--src/mbgl/style/style.cpp33
1 files changed, 14 insertions, 19 deletions
diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp
index 45217950f6..d0adfe27c2 100644
--- a/src/mbgl/style/style.cpp
+++ b/src/mbgl/style/style.cpp
@@ -1,6 +1,6 @@
#include <mbgl/style/style.hpp>
#include <mbgl/map/sprite.hpp>
-#include <mbgl/style/style_layer_group.hpp>
+#include <mbgl/style/style_layer.hpp>
#include <mbgl/style/style_parser.hpp>
#include <mbgl/style/style_bucket.hpp>
#include <mbgl/util/constants.hpp>
@@ -25,19 +25,21 @@ Style::Style()
// for deleting the std::unique_ptr<uv::rwlock>.
Style::~Style() {}
-void Style::updateProperties(float z, std::chrono::steady_clock::time_point now) {
+void Style::cascade(const std::vector<std::string>& classes) {
+ std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now();
+
+ for (const auto& layer : layers) {
+ layer->setClasses(classes, now, defaultTransition);
+ }
+}
+
+void Style::recalculate(float z, std::chrono::steady_clock::time_point now) {
uv::writelock lock(mtx);
zoomHistory.update(z, now);
- if (layers) {
- layers->updateProperties(z, now, zoomHistory);
- }
-
- // Apply transitions after the first time.
- if (!initial_render_complete) {
- initial_render_complete = true;
- return;
+ for (const auto& layer : layers) {
+ layer->updateProperties(z, now, zoomHistory);
}
}
@@ -49,22 +51,15 @@ void Style::setDefaultTransitionDuration(std::chrono::steady_clock::duration dur
defaultTransition.duration = duration;
}
-void Style::cascadeClasses(const std::vector<std::string>& classes) {
- if (layers) {
- layers->setClasses(classes, std::chrono::steady_clock::now(), defaultTransition);
- }
-}
-
bool Style::hasTransitions() const {
- if (layers) {
- if (layers->hasTransitions()) {
+ for (const auto& layer : layers) {
+ if (layer->hasTransitions()) {
return true;
}
}
return false;
}
-
void Style::loadJSON(const uint8_t *const data) {
uv::writelock lock(mtx);