diff options
author | Molly Lloyd <molly@mapbox.com> | 2018-12-18 15:52:38 -0800 |
---|---|---|
committer | Molly Lloyd <molly@mapbox.com> | 2018-12-18 15:52:38 -0800 |
commit | e6bdd4235589dfbaf692d2fbfd8706736aa31060 (patch) | |
tree | 2689c3fab87ec9d3e7dd973fc247d6f3fef2cc2f /src/mbgl/layout/symbol_instance.hpp | |
parent | 7db9ce37e648e8145816f11dcdb3251f0ce81d74 (diff) | |
download | qtlocation-mapboxgl-e6bdd4235589dfbaf692d2fbfd8706736aa31060.tar.gz |
implement dynamic-text-anchor property
Diffstat (limited to 'src/mbgl/layout/symbol_instance.hpp')
-rw-r--r-- | src/mbgl/layout/symbol_instance.hpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/mbgl/layout/symbol_instance.hpp b/src/mbgl/layout/symbol_instance.hpp index 6148d7fe88..a4d688f4d5 100644 --- a/src/mbgl/layout/symbol_instance.hpp +++ b/src/mbgl/layout/symbol_instance.hpp @@ -15,7 +15,9 @@ class SymbolInstance { public: SymbolInstance(Anchor& anchor, GeometryCoordinates line, - const std::pair<Shaping, Shaping>& shapedTextOrientations, + // When dynamic-text-anchor is used, order is right, center, left, vertical. + // Otherwise order is horizontal, empty, empty, vertical. + const std::tuple<Shaping, Shaping, Shaping, Shaping>& shapedTextOrientations, optional<PositionedIcon> shapedIcon, const style::SymbolLayoutProperties::Evaluated&, const float layoutTextSize, @@ -38,7 +40,9 @@ public: GeometryCoordinates line; bool hasText; bool hasIcon; - SymbolQuads horizontalGlyphQuads; + SymbolQuads rightJustifiedGlyphQuads; + SymbolQuads leftJustifiedGlyphQuads; + SymbolQuads centerJustifiedGlyphQuads; SymbolQuads verticalGlyphQuads; optional<SymbolQuad> iconQuad; CollisionFeature textCollisionFeature; @@ -49,8 +53,11 @@ public: std::array<float, 2> textOffset; std::array<float, 2> iconOffset; std::u16string key; + float layoutTextSize; bool isDuplicate; - optional<size_t> placedTextIndex; + optional<size_t> placedRightTextIndex; + optional<size_t> placedCenterTextIndex; + optional<size_t> placedLeftTextIndex; optional<size_t> placedVerticalTextIndex; optional<size_t> placedIconIndex; uint32_t crossTileID = 0; |