本文整理汇总了C++中WideString::Delete方法的典型用法代码示例。如果您正苦于以下问题:C++ WideString::Delete方法的具体用法?C++ WideString::Delete怎么用?C++ WideString::Delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WideString
的用法示例。
在下文中一共展示了WideString::Delete方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CloseTempLine
void CPDF_TextPage::CloseTempLine() {
if (m_TempCharList.empty())
return;
WideString str = m_TempTextBuf.MakeString();
bool bPrevSpace = false;
for (size_t i = 0; i < str.GetLength(); ++i) {
if (str[i] != ' ') {
bPrevSpace = false;
continue;
}
if (bPrevSpace) {
m_TempTextBuf.Delete(i, 1);
m_TempCharList.erase(m_TempCharList.begin() + i);
str.Delete(i);
--i;
}
bPrevSpace = true;
}
CFX_BidiString bidi(str);
if (m_parserflag == FPDFText_Direction::Right)
bidi.SetOverallDirectionRight();
CFX_BidiChar::Direction eCurrentDirection = bidi.OverallDirection();
for (const auto& segment : bidi) {
if (segment.direction == CFX_BidiChar::RIGHT ||
(segment.direction == CFX_BidiChar::NEUTRAL &&
eCurrentDirection == CFX_BidiChar::RIGHT)) {
eCurrentDirection = CFX_BidiChar::RIGHT;
for (int m = segment.start + segment.count; m > segment.start; --m)
AddCharInfoByRLDirection(str[m - 1], m_TempCharList[m - 1]);
} else {
eCurrentDirection = CFX_BidiChar::LEFT;
for (int m = segment.start; m < segment.start + segment.count; ++m)
AddCharInfoByLRDirection(str[m], m_TempCharList[m]);
}
}
m_TempCharList.clear();
m_TempTextBuf.Delete(0, m_TempTextBuf.GetLength());
}