diff options
author | Chris Loer <chris.loer@gmail.com> | 2016-12-14 10:18:37 -0800 |
---|---|---|
committer | Chris Loer <chris.loer@gmail.com> | 2016-12-21 13:38:39 -0800 |
commit | bbeda5d497ade17e3667a341b620504b2c259d23 (patch) | |
tree | 1a4b5fd487ce3751bfbf9489d61b5e025d184ddf /src/mbgl/text/bidi.hpp | |
parent | 8d52806cbb1893f68e49604d6065f4ca5820232e (diff) | |
download | qtlocation-mapboxgl-bbeda5d497ade17e3667a341b620504b2c259d23.tar.gz |
Cleaning up line breaking code.
* Don't include trailing spacing (as opposed to whitespace) in lineLength
* Modify BiDi interface to require initial bidi layout and linebreaking to happen in one call.
* Code style changes suggested by @kkaefer
Diffstat (limited to 'src/mbgl/text/bidi.hpp')
-rw-r--r-- | src/mbgl/text/bidi.hpp | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/src/mbgl/text/bidi.hpp b/src/mbgl/text/bidi.hpp index 6c209c427c..73bb556a00 100644 --- a/src/mbgl/text/bidi.hpp +++ b/src/mbgl/text/bidi.hpp @@ -14,30 +14,16 @@ class BiDiImpl; std::u16string applyArabicShaping(const std::u16string&); -class ProcessedBiDiText { -public: - ProcessedBiDiText(BiDi&); - - std::vector<std::u16string> applyLineBreaking(std::set<int32_t>); - -private: - void mergeParagraphLineBreaks(std::set<int32_t>&); - - BiDi& bidi; -}; - class BiDi : private util::noncopyable { public: BiDi(); ~BiDi(); - // Calling processText resets internal state, invalidating any existing ProcessedBiDiText - // objects - ProcessedBiDiText processText(const std::u16string&); - - friend class ProcessedBiDiText; + std::vector<std::u16string> processText(const std::u16string&, std::set<int32_t>); private: + void mergeParagraphLineBreaks(std::set<int32_t>&); + std::vector<std::u16string> applyLineBreaking(std::set<int32_t>); std::u16string getLine(int32_t start, int32_t end); std::unique_ptr<BiDiImpl> impl; |