Merge branch 'master' into outdoors-style
Conflicts: bin/style.js include/llmr/map/transform.hpp src/renderer/painter.cpp src/text/placement.cpp
This commit is contained in:
@@ -194,6 +194,19 @@ void StyleParser::parseConstants(JSVal value) {
|
||||
}
|
||||
}
|
||||
|
||||
TranslateAnchor parseTranslateAnchor(JSVal anchor) {
|
||||
if (anchor.IsString()) {
|
||||
std::string a { anchor.GetString(), anchor.GetStringLength() };
|
||||
if (a == "viewport") {
|
||||
return TranslateAnchor::Viewport;
|
||||
} else {
|
||||
return TranslateAnchor::Map;
|
||||
}
|
||||
} else {
|
||||
throw Style::exception("translate anchor must be a string");
|
||||
}
|
||||
}
|
||||
|
||||
void StyleParser::parseClasses(JSVal value, std::map<std::string, ClassDescription>& classes, std::map<std::string, BucketDescription>& buckets, std::vector<LayerDescription>& layers) {
|
||||
if (value.IsArray()) {
|
||||
for (rapidjson::SizeType i = 0; i < value.Size(); ++i) {
|
||||
@@ -434,6 +447,10 @@ FillClass StyleParser::parseFillClass(JSVal value) {
|
||||
klass.translate = std::array<FunctionProperty, 2> {{ values[0], values[1] }};
|
||||
}
|
||||
|
||||
if (value.HasMember("translate-anchor")) {
|
||||
klass.translateAnchor = parseTranslateAnchor(value["translate-anchor"]);
|
||||
}
|
||||
|
||||
if (value.HasMember("color")) {
|
||||
klass.fill_color = parseColor(value["color"]);
|
||||
}
|
||||
@@ -471,6 +488,10 @@ LineClass StyleParser::parseLineClass(JSVal value) {
|
||||
klass.translate = std::array<FunctionProperty, 2> {{ values[0], values[1] }};
|
||||
}
|
||||
|
||||
if (value.HasMember("translate-anchor")) {
|
||||
klass.translateAnchor = parseTranslateAnchor(value["translate-anchor"]);
|
||||
}
|
||||
|
||||
if (value.HasMember("color")) {
|
||||
klass.color = parseColor(value["color"]);
|
||||
}
|
||||
@@ -503,6 +524,10 @@ PointClass StyleParser::parsePointClass(JSVal value) {
|
||||
klass.translate = std::array<FunctionProperty, 2> {{ values[0], values[1] }};
|
||||
}
|
||||
|
||||
if (value.HasMember("translate-anchor")) {
|
||||
klass.translateAnchor = parseTranslateAnchor(value["translate-anchor"]);
|
||||
}
|
||||
|
||||
if (value.HasMember("color")) {
|
||||
klass.color = parseColor(value["color"]);
|
||||
}
|
||||
@@ -530,19 +555,6 @@ PointClass StyleParser::parsePointClass(JSVal value) {
|
||||
return klass;
|
||||
}
|
||||
|
||||
TranslateAnchor parseTranslateAnchor(JSVal anchor) {
|
||||
if (anchor.IsString()) {
|
||||
std::string a { anchor.GetString(), anchor.GetStringLength() };
|
||||
if (a == "viewport") {
|
||||
return TranslateAnchor::Viewport;
|
||||
} else {
|
||||
return TranslateAnchor::Map;
|
||||
}
|
||||
} else {
|
||||
throw Style::exception("translate anchor must be a string");
|
||||
}
|
||||
}
|
||||
|
||||
TextClass StyleParser::parseTextClass(JSVal value) {
|
||||
TextClass klass;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user