diff --git a/include/llmr/map/map.hpp b/include/llmr/map/map.hpp index a1c9842fb..649acfa69 100644 --- a/include/llmr/map/map.hpp +++ b/include/llmr/map/map.hpp @@ -56,7 +56,6 @@ public: void setAppliedClasses(const std::vector &classes); void toggleClass(const std::string &name); const std::vector &getAppliedClasses() const; - void setAppliedClasses(std::vector &class_names); void setDefaultTransitionDuration(uint64_t duration_milliseconds = 0); void setStyleJSON(std::string newStyleJSON); std::string getStyleJSON() const; diff --git a/src/map/map.cpp b/src/map/map.cpp index 08b14bcf3..db81700c4 100644 --- a/src/map/map.cpp +++ b/src/map/map.cpp @@ -405,10 +405,6 @@ const std::vector &Map::getAppliedClasses() const { return style->getAppliedClasses(); } -void Map::setAppliedClasses(std::vector &class_names) { - style->setAppliedClasses(class_names); -} - void Map::setDefaultTransitionDuration(uint64_t duration_milliseconds) { style->setDefaultTransitionDuration(duration_milliseconds); } diff --git a/test/fixtures/styles/line-color.info.json b/test/fixtures/styles/line-color.info.json new file mode 100644 index 000000000..03e33581d --- /dev/null +++ b/test/fixtures/styles/line-color.info.json @@ -0,0 +1,13 @@ +{ + "default": { + "zoom": 14, + "center": [52.499167, 13.418056], + "height": 256 + }, + "colored": { + "zoom": 14, + "center": [52.499167, 13.418056], + "height": 256, + "classes": ["colored"] + } +} diff --git a/test/fixtures/styles/line-color.style.json b/test/fixtures/styles/line-color.style.json new file mode 100644 index 000000000..10f5fb9cb --- /dev/null +++ b/test/fixtures/styles/line-color.style.json @@ -0,0 +1,33 @@ +{ + "version": 3, + "sources": { + "mapbox": { + "type": "vector", + "url": "tiles/{z}-{x}-{y}.vector.pbf", + "tileSize": 512, + "maxZoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "style": { + "background-color": "white" + } + }, + { + "id": "road", + "source": "mapbox", + "source-layer": "road", + "type": "line", + "style": { + "line-width": 2, + "line-color": "#3590db" + }, + "style.colored": { + "line-color": "#222222" + } + } + ] +} diff --git a/test/fixtures/styles/line-color/colored.expected.png b/test/fixtures/styles/line-color/colored.expected.png new file mode 100644 index 000000000..ffd1ac3fb Binary files /dev/null and b/test/fixtures/styles/line-color/colored.expected.png differ diff --git a/test/fixtures/styles/line-color/default.expected.png b/test/fixtures/styles/line-color/default.expected.png new file mode 100644 index 000000000..6369f5620 Binary files /dev/null and b/test/fixtures/styles/line-color/default.expected.png differ diff --git a/test/headless.cpp b/test/headless.cpp index a93c03ce9..97a5e581a 100644 --- a/test/headless.cpp +++ b/test/headless.cpp @@ -49,8 +49,19 @@ TEST_P(HeadlessTest, render) { const double longitude = value.HasMember("center") ? value["center"][rapidjson::SizeType(1)].GetDouble() : 0; const unsigned int width = value.HasMember("width") ? value["width"].GetUint() : 512; const unsigned int height = value.HasMember("height") ? value["height"].GetUint() : 512; + std::vector classes; + if (value.HasMember("classes")) { + const rapidjson::Value &js_classes = value["classes"]; + ASSERT_EQ(true, js_classes.IsArray()); + for (rapidjson::SizeType i = 0; i < js_classes.Size(); i++) { + const rapidjson::Value &js_class = js_classes[i]; + ASSERT_EQ(true, js_class.IsString()); + classes.push_back({ js_class.GetString(), js_class.GetStringLength() }); + } + } map.setStyleJSON(style); + map.setAppliedClasses(classes); view.resize(width, height); map.resize(width, height);