Single text positioning property

https://github.com/mapbox/mapbox-gl-style-spec/issues/197
This commit is contained in:
John Firebaugh
2014-11-03 15:07:33 -08:00
parent 9a3b740fcc
commit 0790b574b4
5 changed files with 29 additions and 33 deletions

View File

@@ -103,16 +103,24 @@ void SymbolBucket::addFeatures(const VectorTileLayer &layer, const FilterExpress
const std::vector<SymbolFeature> features = processFeatures(layer, filter, glyphStore, sprite);
float horizontalAlign = 0.5;
if (properties.text.horizontal_align == TextHorizontalAlignType::Right)
horizontalAlign = 1;
else if (properties.text.horizontal_align == TextHorizontalAlignType::Left)
horizontalAlign = 0;
float verticalAlign = 0.5;
if (properties.text.vertical_align == TextVerticalAlignType::Bottom)
verticalAlign = 1;
else if (properties.text.vertical_align == TextVerticalAlignType::Top)
verticalAlign = 0;
switch (properties.text.anchor) {
case TextAnchorType::Center:
break;
case TextAnchorType::Right:
horizontalAlign = 1;
break;
case TextAnchorType::Left:
horizontalAlign = 0;
break;
case TextAnchorType::Bottom:
verticalAlign = 1;
break;
case TextAnchorType::Top:
verticalAlign = 0;
break;
}
float justify = 0.5;
if (properties.text.justify == TextJustifyType::Right) justify = 1;

View File

@@ -801,8 +801,7 @@ void StyleParser::parseLayout(JSVal value, util::ptr<StyleLayer> &layer) {
render.text.letter_spacing *= 24; // em
}
parseRenderProperty<TextJustifyTypeClass>(value, render.text.justify, "text-justify");
parseRenderProperty<TextHorizontalAlignTypeClass>(value, render.text.horizontal_align, "text-horizontal-align");
parseRenderProperty<TextVerticalAlignTypeClass>(value, render.text.vertical_align, "text-vertical-align");
parseRenderProperty<TextAnchorTypeClass>(value, render.text.anchor, "text-anchor");
parseRenderProperty(value, render.text.max_angle, "text-max-angle");
parseRenderProperty(value, render.text.rotate, "text-rotate");
parseRenderProperty(value, render.text.slant, "text-slant");