summaryrefslogtreecommitdiff
path: root/src/mbgl/layout/symbol_instance.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/layout/symbol_instance.hpp')
-rw-r--r--src/mbgl/layout/symbol_instance.hpp13
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;