diff options
author | Ansis Brammanis <brammanis@gmail.com> | 2015-01-14 22:56:44 -0500 |
---|---|---|
committer | Ansis Brammanis <brammanis@gmail.com> | 2015-01-14 22:56:44 -0500 |
commit | 4f827c21c62e9059cdfc108d2275ec99f639566c (patch) | |
tree | 70b87e6fb82fe389b038a643549d14c8f25fbf58 /src/mbgl/geometry/line_atlas.cpp | |
parent | 2c615b613c3f4031cf7d40d37cee7ca5c6c96265 (diff) | |
download | qtlocation-mapboxgl-4f827c21c62e9059cdfc108d2275ec99f639566c.tar.gz |
implement round dash caps
Diffstat (limited to 'src/mbgl/geometry/line_atlas.cpp')
-rw-r--r-- | src/mbgl/geometry/line_atlas.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mbgl/geometry/line_atlas.cpp b/src/mbgl/geometry/line_atlas.cpp index ae5617bf36..45fcde99d4 100644 --- a/src/mbgl/geometry/line_atlas.cpp +++ b/src/mbgl/geometry/line_atlas.cpp @@ -27,7 +27,7 @@ LinePatternPos LineAtlas::getDashPosition(const std::vector<float> &dasharray, b std::string key = sskey.str(); if (positions.find(key) == positions.end()) { - fprintf(stderr, "add %s\n", key.c_str()); + //fprintf(stderr, "add %s\n", key.c_str()); positions[key] = addDash(dasharray, round); } @@ -73,12 +73,12 @@ LinePatternPos LineAtlas::addDash(const std::vector<float> &dasharray, bool roun int signedDistance; if (round) { - float distMiddle = n ? y / n * halfWidth : 0; - float distEdge = halfWidth - fabs(distMiddle); + float distMiddle = n ? (float)y / n * (halfWidth + 1) : 0; if (inside) { + float distEdge = halfWidth - fabs(distMiddle); signedDistance = sqrt(dist * dist + distEdge * distEdge); } else { - signedDistance = halfWidth = sqrt(dist * dist + distMiddle * distMiddle); + signedDistance = halfWidth - sqrt(dist * dist + distMiddle * distMiddle); } } else { @@ -91,7 +91,7 @@ LinePatternPos LineAtlas::addDash(const std::vector<float> &dasharray, bool roun LinePatternPos position; position.y = (0.5 + nextRow + n) / height; - position.height = 2 * n / height; + position.height = (2.0 * n) / height; position.width = length; nextRow += dashheight; |