diff options
Diffstat (limited to 'core/fxcrt/fx_bidi.h')
-rw-r--r-- | core/fxcrt/fx_bidi.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/core/fxcrt/fx_bidi.h b/core/fxcrt/fx_bidi.h index a9b52cf6fb..54d5255e3e 100644 --- a/core/fxcrt/fx_bidi.h +++ b/core/fxcrt/fx_bidi.h @@ -41,7 +41,7 @@ class CFX_BidiChar { // Call after a change in direction is indicated by the above to get // information about the segment to process. - Segment GetSegmentInfo() const { return m_LastSegment; } + const Segment& GetSegmentInfo() const { return m_LastSegment; } private: void StartNewSegment(CFX_BidiChar::Direction direction); @@ -58,22 +58,18 @@ class CFX_BidiString { ~CFX_BidiString(); // Overall direction is always LEFT or RIGHT, never NEUTRAL. - CFX_BidiChar::Direction OverallDirection() const { - return m_eOverallDirection; - } + CFX_BidiChar::Direction OverallDirection() const; // Force the overall direction to be R2L regardless of what was detected. void SetOverallDirectionRight(); - wchar_t CharAt(size_t x) const { return m_Str[x]; } const_iterator begin() const { return m_Order.begin(); } const_iterator end() const { return m_Order.end(); } private: - const WideString m_Str; - std::unique_ptr<CFX_BidiChar> m_pBidiChar; + const WideString& m_Str; std::vector<CFX_BidiChar::Segment> m_Order; - CFX_BidiChar::Direction m_eOverallDirection; + CFX_BidiChar::Direction m_eOverallDirection = CFX_BidiChar::LEFT; }; #if PDF_ENABLE_XFA |