summaryrefslogtreecommitdiff
path: root/platform/qt
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2016-12-14 10:18:37 -0800
committerChris Loer <chris.loer@gmail.com>2017-01-05 10:22:53 -0800
commitf68449aeb8a4d874c15958edfcb02bc1ad7015a2 (patch)
tree552bb306ea0dbbe4c97bff1d3915d06748cda9ad /platform/qt
parentf55a6e2b7a648b61eca8da2cb4916d96ecc25ef4 (diff)
downloadqtlocation-mapboxgl-f68449aeb8a4d874c15958edfcb02bc1ad7015a2.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 'platform/qt')
-rw-r--r--platform/qt/src/bidi.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/platform/qt/src/bidi.cpp b/platform/qt/src/bidi.cpp
index 184d1daf9a..efb6932252 100644
--- a/platform/qt/src/bidi.cpp
+++ b/platform/qt/src/bidi.cpp
@@ -16,15 +16,12 @@ std::u16string applyArabicShaping(const std::u16string& input) {
return utf16string.toStdU16String();
}
-ProcessedBiDiText::ProcessedBiDiText(BiDi& p_bidi) : bidi(p_bidi) {
-}
-
-void ProcessedBiDiText::mergeParagraphLineBreaks(std::set<int32_t>& lineBreakPoints) {
+void BiDi::mergeParagraphLineBreaks(std::set<int32_t>& lineBreakPoints) {
lineBreakPoints.insert(bidi.impl->string.length());
}
std::vector<std::u16string>
-ProcessedBiDiText::applyLineBreaking(std::set<int32_t> lineBreakPoints) {
+BiDi::applyLineBreaking(std::set<int32_t> lineBreakPoints) {
mergeParagraphLineBreaks(lineBreakPoints);
std::vector<std::u16string> transformedLines;
@@ -44,9 +41,9 @@ BiDi::BiDi() : impl(std::make_unique<BiDiImpl>())
BiDi::~BiDi() {
}
-ProcessedBiDiText BiDi::processText(const std::u16string& input) {
+std::vector<std::u16string> BiDi::processText(const std::u16string& input, std::set<int32_t> lineBreakPoints) {
impl->string = QString::fromStdU16String(input);
- return ProcessedBiDiText(*this);
+ return applyLineBreaking(lineBreakPoints);
}
std::u16string BiDi::getLine(int32_t start, int32_t end) {