MCPcopy Create free account
hub / github.com/ZDoom/Raze / FormatText

Method FormatText

source/common/console/c_consolebuffer.cpp:123–162  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121//==========================================================================
122
123void FConsoleBuffer::FormatText(FFont *formatfont, int displaywidth)
124{
125 if (formatfont != mLastFont || displaywidth != mLastDisplayWidth || mBufferWasCleared)
126 {
127 if (mBufferWasCleared)
128 mLastLineNeedsUpdate = false;
129 m_BrokenConsoleText.Clear();
130 mBrokenStart.Clear();
131 mBrokenStart.Push(0);
132 mBrokenLines.Clear();
133 mLastFont = formatfont;
134 mLastDisplayWidth = displaywidth;
135 mBufferWasCleared = false;
136 }
137 unsigned brokensize = m_BrokenConsoleText.Size();
138 if (brokensize == mConsoleText.Size())
139 {
140 // The last line got text appended.
141 if (mLastLineNeedsUpdate)
142 {
143 brokensize--;
144 m_BrokenConsoleText.Resize(brokensize);
145 }
146 }
147 mBrokenLines.Resize(mBrokenStart[brokensize]);
148 mBrokenStart.Resize(brokensize);
149 for (unsigned i = brokensize; i < mConsoleText.Size(); i++)
150 {
151 auto bl = V_BreakLines(formatfont, displaywidth, mConsoleText[i], true);
152 m_BrokenConsoleText.Push(bl);
153 mBrokenStart.Push(mBrokenLines.Size());
154 for(auto &bline : bl)
155 {
156 mBrokenLines.Push(bline);
157 }
158 }
159 mTextLines = mBrokenLines.Size();
160 mBrokenStart.Push(mTextLines);
161 mLastLineNeedsUpdate = false;
162}
163
164//==========================================================================
165//

Callers 1

C_DrawConsoleFunction · 0.80

Calls 5

V_BreakLinesFunction · 0.50
ClearMethod · 0.45
PushMethod · 0.45
SizeMethod · 0.45
ResizeMethod · 0.45

Tested by

no test coverage detected