summaryrefslogtreecommitdiff
path: root/src/mbgl/geometry/line_atlas.cpp
diff options
context:
space:
mode:
authorAnsis Brammanis <brammanis@gmail.com>2015-01-14 22:56:44 -0500
committerAnsis Brammanis <brammanis@gmail.com>2015-01-14 22:56:44 -0500
commit4f827c21c62e9059cdfc108d2275ec99f639566c (patch)
tree70b87e6fb82fe389b038a643549d14c8f25fbf58 /src/mbgl/geometry/line_atlas.cpp
parent2c615b613c3f4031cf7d40d37cee7ca5c6c96265 (diff)
downloadqtlocation-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.cpp10
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;