OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "core/fxcrt/fx_bidi.h" | 7 #include "core/fxcrt/fx_bidi.h" |
8 #include "core/fxcrt/include/fx_ucd.h" | 8 #include "core/fxcrt/include/fx_ucd.h" |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 | 66 |
67 size_t nL2R = std::count_if(m_Order.begin(), m_Order.end(), | 67 size_t nL2R = std::count_if(m_Order.begin(), m_Order.end(), |
68 [](const CFX_BidiChar::Segment& seg) { | 68 [](const CFX_BidiChar::Segment& seg) { |
69 return seg.direction == CFX_BidiChar::LEFT; | 69 return seg.direction == CFX_BidiChar::LEFT; |
70 }); | 70 }); |
71 | 71 |
72 if (nR2L > 0 && nR2L >= nL2R) | 72 if (nR2L > 0 && nR2L >= nL2R) |
73 SetOverallDirectionRight(); | 73 SetOverallDirectionRight(); |
74 } | 74 } |
75 | 75 |
| 76 CFX_BidiString::~CFX_BidiString() {} |
| 77 |
76 void CFX_BidiString::SetOverallDirectionRight() { | 78 void CFX_BidiString::SetOverallDirectionRight() { |
77 if (m_eOverallDirection != CFX_BidiChar::RIGHT) { | 79 if (m_eOverallDirection != CFX_BidiChar::RIGHT) { |
78 std::reverse(m_Order.begin(), m_Order.end()); | 80 std::reverse(m_Order.begin(), m_Order.end()); |
79 m_eOverallDirection = CFX_BidiChar::RIGHT; | 81 m_eOverallDirection = CFX_BidiChar::RIGHT; |
80 } | 82 } |
81 } | 83 } |
OLD | NEW |