diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2019-12-09 14:37:09 +0100 |
---|---|---|
committer | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2020-01-15 15:02:11 +0200 |
commit | 4b171cccf1c4012f8962b022f86c4ac8d73f09df (patch) | |
tree | 0653d4bdf5188c4346bba13ae6a34946776585d9 /src/mbgl/text | |
parent | d8d336160c49fcda3e2ace93393176d53440532b (diff) | |
download | qtlocation-mapboxgl-4b171cccf1c4012f8962b022f86c4ac8d73f09df.tar.gz |
[core] getGlyphQuad -> getGlyphQuads
Diffstat (limited to 'src/mbgl/text')
-rw-r--r-- | src/mbgl/text/placement.cpp | 7 | ||||
-rw-r--r-- | src/mbgl/text/quads.cpp | 24 | ||||
-rw-r--r-- | src/mbgl/text/quads.hpp | 2 |
3 files changed, 18 insertions, 15 deletions
diff --git a/src/mbgl/text/placement.cpp b/src/mbgl/text/placement.cpp index 2a98935d73..d6a78082fa 100644 --- a/src/mbgl/text/placement.cpp +++ b/src/mbgl/text/placement.cpp @@ -945,19 +945,22 @@ void Placement::updateBucketOpacities(SymbolBucket& bucket, } } if (symbolInstance.hasIcon()) { + size_t iconOpacityVerticesSize = 0u; const auto& opacityVertex = SymbolIconProgram::opacityVertex(opacityState.icon.placed, opacityState.icon.opacity); auto& iconBuffer = symbolInstance.hasSdfIcon() ? bucket.sdfIcon : bucket.icon; if (symbolInstance.placedIconIndex) { - iconBuffer.opacityVertices.extend(4, opacityVertex); + iconOpacityVerticesSize += symbolInstance.iconQuadsSize * 4; iconBuffer.placedSymbols[*symbolInstance.placedIconIndex].hidden = opacityState.isHidden(); } if (symbolInstance.placedVerticalIconIndex) { - iconBuffer.opacityVertices.extend(4, opacityVertex); + iconOpacityVerticesSize += symbolInstance.iconQuadsSize * 4; iconBuffer.placedSymbols[*symbolInstance.placedVerticalIconIndex].hidden = opacityState.isHidden(); } + + iconBuffer.opacityVertices.extend(iconOpacityVerticesSize, opacityVertex); } auto updateIconCollisionBox = [&](const auto& feature, const bool placed, const Point<float>& shift) { diff --git a/src/mbgl/text/quads.cpp b/src/mbgl/text/quads.cpp index 747a208ee1..1f07ad4427 100644 --- a/src/mbgl/text/quads.cpp +++ b/src/mbgl/text/quads.cpp @@ -14,7 +14,7 @@ namespace mbgl { using namespace style; -SymbolQuad getIconQuad(const PositionedIcon& shapedIcon, WritingModeType writingMode, SymbolContent iconType) { +SymbolQuads getIconQuads(const PositionedIcon& shapedIcon, WritingModeType writingMode, SymbolContent iconType) { const ImagePosition& image = shapedIcon.image(); // If you have a 10px icon that isn't perfectly aligned to the pixel grid it will cover 11 actual @@ -74,17 +74,17 @@ SymbolQuad getIconQuad(const PositionedIcon& shapedIcon, WritingModeType writing Point<float> pixelOffsetBR; Point<float> minFontScale; - return SymbolQuad{tl, - tr, - bl, - br, - textureRect, - writingMode, - {0.0f, 0.0f}, - iconType == SymbolContent::IconSDF, - pixelOffsetTL, - pixelOffsetBR, - minFontScale}; + return {SymbolQuad{tl, + tr, + bl, + br, + textureRect, + writingMode, + {0.0f, 0.0f}, + iconType == SymbolContent::IconSDF, + pixelOffsetTL, + pixelOffsetBR, + minFontScale}}; } SymbolQuads getGlyphQuads(const Shaping& shapedText, diff --git a/src/mbgl/text/quads.hpp b/src/mbgl/text/quads.hpp index c61c85f14c..b6d2687d07 100644 --- a/src/mbgl/text/quads.hpp +++ b/src/mbgl/text/quads.hpp @@ -57,7 +57,7 @@ public: using SymbolQuads = std::vector<SymbolQuad>; -SymbolQuad getIconQuad(const PositionedIcon& shapedIcon, WritingModeType writingMode, SymbolContent iconType); +SymbolQuads getIconQuads(const PositionedIcon& shapedIcon, WritingModeType writingMode, SymbolContent iconType); SymbolQuads getGlyphQuads(const Shaping& shapedText, const std::array<float, 2> textOffset, |