diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp index 45846170c..62c4abc23 100644 --- a/include/mbgl/map/map.hpp +++ b/include/mbgl/map/map.hpp @@ -68,9 +68,12 @@ public: void resize(uint16_t width, uint16_t height, float ratio, uint16_t fb_width, uint16_t fb_height); // Styling - void setAppliedClasses(const std::vector &classes); - void toggleClass(const std::string &name); - const std::vector &getAppliedClasses() const; + void addClass(const std::string&); + void removeClass(const std::string&); + bool hasClass(const std::string&) const; + void setClasses(const std::vector&); + std::vector getClasses() const; + void setDefaultTransitionDuration(uint64_t milliseconds = 0); void setStyleURL(const std::string &url); void setStyleJSON(std::string newStyleJSON, const std::string &base = ""); @@ -188,6 +191,7 @@ private: std::string styleURL; std::string styleJSON = ""; + std::vector classes; bool debug = false; timestamp animationTime = 0; diff --git a/ios/mapbox-gl-cocoa b/ios/mapbox-gl-cocoa index 40b9b7b8e..2e5bfbdcd 160000 --- a/ios/mapbox-gl-cocoa +++ b/ios/mapbox-gl-cocoa @@ -1 +1 @@ -Subproject commit 40b9b7b8e0e231345b3ba1fb83dc347c2eb6b8ec +Subproject commit 2e5bfbdcd54c893864c263b41a27846627e10f0c diff --git a/platform/default/glfw_view.cpp b/platform/default/glfw_view.cpp index 6446a54ab..17cd78d12 100644 --- a/platform/default/glfw_view.cpp +++ b/platform/default/glfw_view.cpp @@ -184,7 +184,11 @@ void GLFWView::key(GLFWwindow *window, int key, int /*scancode*/, int action, in case GLFW_KEY_R: if (!mods) { view->map->setDefaultTransitionDuration(300); - view->map->toggleClass("night"); + if (view->map->hasClass("night")) { + view->map->removeClass("night"); + } else { + view->map->addClass("night"); + } } break; case GLFW_KEY_N: diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index f78b8385c..a0c143701 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -311,6 +311,7 @@ void Map::setStyleJSON(std::string newStyleJSON, const std::string &base) { style = std::make_shared