summaryrefslogtreecommitdiff
path: root/core/fxcrt/fx_bidi.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcrt/fx_bidi.h')
-rw-r--r--core/fxcrt/fx_bidi.h12
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