MCPcopy Create free account
hub / github.com/MyGUI/mygui / moveNext

Method moveNext

MyGUIEngine/src/MyGUI_TextIterator.cpp:33–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31 }
32
33 bool TextIterator::moveNext()
34 {
35 if (mCurrent == mEnd)
36 return false;
37 if (mFirst)
38 {
39 mFirst = false;
40 return true;
41 }
42
43 // jump to next character, skipping tags (#)
44 for (UString::utf32string::iterator iter = mCurrent; iter != mEnd; ++iter)
45 {
46 if ((*iter) == L'#')
47 {
48 // следующий символ
49 ++iter;
50 if (iter == mEnd)
51 {
52 mCurrent = mEnd;
53 return false;
54 }
55
56 // две решетки подряд
57 if ((*iter) == L'#')
58 {
59 // следующий символ
60 mPosition++;
61 ++iter;
62 if (iter == mEnd)
63 {
64 mCurrent = mEnd;
65 return false;
66 }
67
68 // указатель на следующий символ
69 mCurrent = iter;
70 return true;
71 }
72
73 // остальные 5 символов цвета
74 for (size_t pos = 0; pos < 5; pos++)
75 {
76 // следующий символ
77 ++iter;
78 if (iter == mEnd)
79 {
80 mCurrent = mEnd;
81 return false;
82 }
83 }
84 }
85 else
86 {
87 // обыкновенный символ
88 mPosition++;
89 ++iter;
90 if (iter == mEnd)

Callers 11

getTextIntervalMethod · 0.80
_setTextColourMethod · 0.80
insertTextMethod · 0.80
eraseTextMethod · 0.80
clearNewLineMethod · 0.80
toTagsStringMethod · 0.80
length_CharactersMethod · 0.80
inStringMethod · 0.80
_load_buffer_UTF8Method · 0.80
_load_buffer_WStrMethod · 0.80
_load_buffer_UTF32Method · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected