scale dashes by line-gap-width if present

https://github.com/mapbox/mapbox-gl-js/pull/860#issuecomment-68788411

js: a5fb9f9fb5c7ea056b6ec228e0b398815cc0d356
This commit is contained in:
Ansis Brammanis
2015-01-16 16:29:58 -05:00
parent 07e23967d8
commit 4791bac675
2 changed files with 11 additions and 3 deletions

View File

@@ -188,8 +188,16 @@ void StyleLayer::applyStyleProperties<LineProperties>(const float z, const times
applyStyleProperty(PropertyKey::LineDashArray, line.dash_array, z, now);
applyStyleProperty(PropertyKey::LineImage, line.image, z, now);
// for scaling dasharrays
applyStyleProperty(PropertyKey::LineWidth, line.dash_line_width, std::floor(z), now + 10000);
// scale dash width by line-gap-width if present
applyStyleProperty(PropertyKey::LineGapWidth, line.dash_line_width, std::floor(z), now + 10000);
if (line.dash_line_width <= 0) {
// otherwise scale by line-width
applyStyleProperty(PropertyKey::LineWidth, line.dash_line_width, std::floor(z), now + 10000);
if (line.dash_line_width <= 0) {
// otherwise scale by default line-width value
line.dash_line_width = line.width;
}
}
}
template <>

View File

@@ -38,7 +38,7 @@ struct LineProperties {
float gap_width = 0;
float blur = 0;
std::vector<float> dash_array;
float dash_line_width = 1;
float dash_line_width = 0;
std::string image;
inline bool isVisible() const {