Support compound text-anchor values
This commit is contained in:
@@ -157,7 +157,11 @@ enum class TextAnchorType : uint8_t {
|
||||
Left,
|
||||
Right,
|
||||
Top,
|
||||
Bottom
|
||||
Bottom,
|
||||
TopLeft,
|
||||
TopRight,
|
||||
BottomLeft,
|
||||
BottomRight
|
||||
};
|
||||
|
||||
MBGL_DEFINE_ENUM_CLASS(TextAnchorTypeClass, TextAnchorType, {
|
||||
@@ -166,6 +170,10 @@ MBGL_DEFINE_ENUM_CLASS(TextAnchorTypeClass, TextAnchorType, {
|
||||
{ TextAnchorType::Right, "right" },
|
||||
{ TextAnchorType::Top, "top" },
|
||||
{ TextAnchorType::Bottom, "bottom" },
|
||||
{ TextAnchorType::TopLeft, "top-left" },
|
||||
{ TextAnchorType::TopRight, "top-right" },
|
||||
{ TextAnchorType::BottomLeft, "bottom-left" },
|
||||
{ TextAnchorType::BottomRight, "bottom-right" }
|
||||
});
|
||||
|
||||
// -------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -106,18 +106,35 @@ void SymbolBucket::addFeatures(const VectorTileLayer &layer, const FilterExpress
|
||||
float verticalAlign = 0.5;
|
||||
|
||||
switch (properties.text.anchor) {
|
||||
case TextAnchorType::Top:
|
||||
case TextAnchorType::Bottom:
|
||||
case TextAnchorType::Center:
|
||||
break;
|
||||
case TextAnchorType::Right:
|
||||
case TextAnchorType::TopRight:
|
||||
case TextAnchorType::BottomRight:
|
||||
horizontalAlign = 1;
|
||||
break;
|
||||
case TextAnchorType::Left:
|
||||
case TextAnchorType::TopLeft:
|
||||
case TextAnchorType::BottomLeft:
|
||||
horizontalAlign = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (properties.text.anchor) {
|
||||
case TextAnchorType::Left:
|
||||
case TextAnchorType::Right:
|
||||
case TextAnchorType::Center:
|
||||
break;
|
||||
case TextAnchorType::Bottom:
|
||||
case TextAnchorType::BottomLeft:
|
||||
case TextAnchorType::BottomRight:
|
||||
verticalAlign = 1;
|
||||
break;
|
||||
case TextAnchorType::Top:
|
||||
case TextAnchorType::TopLeft:
|
||||
case TextAnchorType::TopRight:
|
||||
verticalAlign = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user