@@ -81,7 +81,7 @@ static inline void GetLayouter(Layouter::LineCacheItem &line, std::string_view s
|
||||
* usable by ParagraphLayout.
|
||||
*/
|
||||
for (; buff < buffer_last && cur != str.end();) {
|
||||
WChar c = Utf8Consume(cur);
|
||||
char32_t c = Utf8Consume(cur);
|
||||
if (c == '\0' || c == '\n') {
|
||||
/* Caller should already have filtered out these characters. */
|
||||
NOT_REACHED();
|
||||
@@ -209,7 +209,7 @@ Dimension Layouter::GetBounds()
|
||||
/**
|
||||
* Test whether a character is a non-printable formatting code
|
||||
*/
|
||||
static bool IsConsumedFormattingCode(WChar ch)
|
||||
static bool IsConsumedFormattingCode(char32_t ch)
|
||||
{
|
||||
if (ch >= SCC_BLUE && ch <= SCC_BLACK) return true;
|
||||
if (ch == SCC_PUSH_COLOUR) return true;
|
||||
@@ -243,7 +243,7 @@ Point Layouter::GetCharPosition(std::string_view::const_iterator ch) const
|
||||
size_t index = 0;
|
||||
auto str = this->string.begin();
|
||||
while (str < ch) {
|
||||
WChar c = Utf8Consume(str);
|
||||
char32_t c = Utf8Consume(str);
|
||||
if (!IsConsumedFormattingCode(c)) index += line->GetInternalCharLength(c);
|
||||
}
|
||||
|
||||
@@ -301,7 +301,7 @@ ptrdiff_t Layouter::GetCharAtPosition(int x, size_t line_index) const
|
||||
for (auto str = this->string.begin(); str != this->string.end();) {
|
||||
if (cur_idx == index) return str - this->string.begin();
|
||||
|
||||
WChar c = Utf8Consume(str);
|
||||
char32_t c = Utf8Consume(str);
|
||||
if (!IsConsumedFormattingCode(c)) cur_idx += line->GetInternalCharLength(c);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user