1#pragma once
2
3#include <set>
4#include <string>
5#include <vector>
6#include <memory>
7
8#include <mbgl/util/noncopyable.hpp>
9
10namespace mbgl {
11
12class BiDi;
13class BiDiImpl;
14
15std::u16string applyArabicShaping(const std::u16string&);
16
17class BiDi : private util::noncopyable {
18public:
19 BiDi();
20 ~BiDi();
21
22 std::vector<std::u16string> processText(const std::u16string&, std::set<std::size_t>);
23
24private:
25 void mergeParagraphLineBreaks(std::set<std::size_t>&);
26 std::vector<std::u16string> applyLineBreaking(std::set<std::size_t>);
27 std::u16string getLine(std::size_t start, std::size_t end);
28
29 std::unique_ptr<BiDiImpl> impl;
30};
31
32} // end namespace mbgl
33

source code of qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/text/bidi.hpp