summaryrefslogtreecommitdiff
path: root/src/mbgl/programs/line_program.cpp
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2017-05-18 09:37:21 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2017-05-23 12:59:27 -0700
commit1759603e128ad0a08f4a25009b82695420ec2840 (patch)
tree77d74c683ca34efc25bd79cbb25774049dbfc695 /src/mbgl/programs/line_program.cpp
parent9e1cbbeacb4007f9c7919185df0aae90fc8f7ad1 (diff)
downloadqtlocation-mapboxgl-1759603e128ad0a08f4a25009b82695420ec2840.tar.gz
[core] Simplify and fix sprite atlas coordinate calculations
* Always return image metrics exclusive of padding * Work with integer coordinates whenever possible * Eliminate redundant SpriteAtlasElement members * Fix asymmetric re-padding in getIconQuad when pixelRatio != 1 * Add explanatory comments
Diffstat (limited to 'src/mbgl/programs/line_program.cpp')
-rw-r--r--src/mbgl/programs/line_program.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mbgl/programs/line_program.cpp b/src/mbgl/programs/line_program.cpp
index 1e296963f2..2c65cb74ed 100644
--- a/src/mbgl/programs/line_program.cpp
+++ b/src/mbgl/programs/line_program.cpp
@@ -92,13 +92,13 @@ LinePatternProgram::uniformValues(const LinePaintProperties::PossiblyEvaluated&
const SpriteAtlasElement& posA,
const SpriteAtlasElement& posB) {
std::array<float, 2> sizeA {{
- tile.id.pixelsToTileUnits(posA.size[0] * properties.get<LinePattern>().fromScale, state.getIntegerZoom()),
- posA.size[1]
+ tile.id.pixelsToTileUnits(posA.displaySize()[0] * properties.get<LinePattern>().fromScale, state.getIntegerZoom()),
+ posA.displaySize()[1]
}};
std::array<float, 2> sizeB {{
- tile.id.pixelsToTileUnits(posB.size[0] * properties.get<LinePattern>().toScale, state.getIntegerZoom()),
- posB.size[1]
+ tile.id.pixelsToTileUnits(posB.displaySize()[0] * properties.get<LinePattern>().toScale, state.getIntegerZoom()),
+ posB.displaySize()[1]
}};
return makeValues<LinePatternProgram::UniformValues>(
@@ -106,10 +106,10 @@ LinePatternProgram::uniformValues(const LinePaintProperties::PossiblyEvaluated&
tile,
state,
pixelsToGLUnits,
- uniforms::u_pattern_tl_a::Value{ posA.tl },
- uniforms::u_pattern_br_a::Value{ posA.br },
- uniforms::u_pattern_tl_b::Value{ posB.tl },
- uniforms::u_pattern_br_b::Value{ posB.br },
+ uniforms::u_pattern_tl_a::Value{ posA.tl() },
+ uniforms::u_pattern_br_a::Value{ posA.br() },
+ uniforms::u_pattern_tl_b::Value{ posB.tl() },
+ uniforms::u_pattern_br_b::Value{ posB.br() },
uniforms::u_pattern_size_a::Value{ sizeA },
uniforms::u_pattern_size_b::Value{ sizeB },
uniforms::u_texsize::Value{ atlasSize },