From 47c1e42ac1073ef02093b59336588f389f287227 Mon Sep 17 00:00:00 2001 From: Molly Lloyd Date: Mon, 27 Mar 2017 17:30:58 -0700 Subject: [core] implement dds for text-offset --- src/mbgl/layout/symbol_layout.cpp | 2 +- src/mbgl/style/layers/symbol_layer.cpp | 6 +++--- src/mbgl/style/layers/symbol_layer_properties.hpp | 2 +- src/mbgl/text/glyph_set.cpp | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp index 3a2c082ad8..8e36bb84ea 100644 --- a/src/mbgl/layout/symbol_layout.cpp +++ b/src/mbgl/layout/symbol_layout.cpp @@ -250,7 +250,7 @@ void SymbolLayout::prepare(uintptr_t tileUID, /* verticalAlign */ verticalAlign, /* justify */ justify, /* spacing: ems */ layout.get() * oneEm, - /* translate */ Point(layout.get()[0], layout.get()[1]), + /* translate */ Point(layout.evaluate(zoom, feature)[0] * oneEm, layout.evaluate(zoom, feature)[1] * oneEm), /* verticalHeight */ oneEm, /* writingMode */ writingMode, /* bidirectional algorithm object */ bidi); diff --git a/src/mbgl/style/layers/symbol_layer.cpp b/src/mbgl/style/layers/symbol_layer.cpp index 42bcf0e6b0..02e1e364f1 100644 --- a/src/mbgl/style/layers/symbol_layer.cpp +++ b/src/mbgl/style/layers/symbol_layer.cpp @@ -483,15 +483,15 @@ void SymbolLayer::setTextTransform(DataDrivenPropertyValue va impl->layout.unevaluated.get() = value; impl->observer->onLayerLayoutPropertyChanged(*this, "text-transform"); } -PropertyValue> SymbolLayer::getDefaultTextOffset() { +DataDrivenPropertyValue> SymbolLayer::getDefaultTextOffset() { return TextOffset::defaultValue(); } -PropertyValue> SymbolLayer::getTextOffset() const { +DataDrivenPropertyValue> SymbolLayer::getTextOffset() const { return impl->layout.unevaluated.get(); } -void SymbolLayer::setTextOffset(PropertyValue> value) { +void SymbolLayer::setTextOffset(DataDrivenPropertyValue> value) { if (value == getTextOffset()) return; impl->layout.unevaluated.get() = value; diff --git a/src/mbgl/style/layers/symbol_layer_properties.hpp b/src/mbgl/style/layers/symbol_layer_properties.hpp index f2b7bfa00f..e7cfb8d455 100644 --- a/src/mbgl/style/layers/symbol_layer_properties.hpp +++ b/src/mbgl/style/layers/symbol_layer_properties.hpp @@ -160,7 +160,7 @@ struct TextTransform : DataDrivenLayoutProperty { static TextTransformType defaultValue() { return TextTransformType::None; } }; -struct TextOffset : LayoutProperty> { +struct TextOffset : DataDrivenLayoutProperty> { static constexpr const char * key = "text-offset"; static std::array defaultValue() { return {{ 0, 0 }}; } }; diff --git a/src/mbgl/text/glyph_set.cpp b/src/mbgl/text/glyph_set.cpp index 19a6e2cddd..ea0dd123db 100644 --- a/src/mbgl/text/glyph_set.cpp +++ b/src/mbgl/text/glyph_set.cpp @@ -45,7 +45,7 @@ const Shaping GlyphSet::getShaping(const std::u16string& logicalInput, const float verticalHeight, const WritingModeType writingMode, BiDi& bidi) const { - Shaping shaping(translate.x * 24, translate.y * 24, writingMode); + Shaping shaping(translate.x, translate.y, writingMode); std::vector reorderedLines = bidi.processText(logicalInput, @@ -66,9 +66,9 @@ void align(Shaping& shaping, const std::size_t lineCount, const Point& translate) { const float shiftX = - (justify - horizontalAlign) * maxLineLength + ::round(translate.x * 24 /* one em */); + (justify - horizontalAlign) * maxLineLength + ::round(translate.x); const float shiftY = - (-verticalAlign * lineCount + 0.5) * lineHeight + ::round(translate.y * 24 /* one em */); + (-verticalAlign * lineCount + 0.5) * lineHeight + ::round(translate.y); for (auto& glyph : shaping.positionedGlyphs) { glyph.x += shiftX; -- cgit v1.2.1