51 { |
51 { |
52 if (m_activeColor != DEFAULT) |
52 if (m_activeColor != DEFAULT) |
53 setColor(m_activeColor, false); |
53 setColor(m_activeColor, false); |
54 |
54 |
55 if (m_boldActive) |
55 if (m_boldActive) |
56 m_data << RLINE_OFF_BOLD; |
56 m_data.push_back(RLINE_OFF_BOLD); |
57 |
57 |
58 m_final = true; |
58 m_final = true; |
59 } |
59 } |
60 |
60 |
61 // ------------------------------------------------------------------------------------------------- |
61 // ------------------------------------------------------------------------------------------------- |
101 { |
101 { |
102 if (m_activeColor != DEFAULT) |
102 if (m_activeColor != DEFAULT) |
103 setColor(m_activeColor, false); |
103 setColor(m_activeColor, false); |
104 |
104 |
105 if (m_boldActive) |
105 if (m_boldActive) |
106 m_data << RLINE_OFF_BOLD; |
106 m_data.push_back(RLINE_OFF_BOLD); |
107 |
107 |
108 m_boldActive = false; |
108 m_boldActive = false; |
109 |
109 |
110 // Chars may be in uppercase |
110 // Chars may be in uppercase |
111 if (ch >= 'A' and ch <= 'V') |
111 if (ch >= 'A' and ch <= 'V') |
149 } |
149 } |
150 |
150 |
151 if (isprint(ch)) |
151 if (isprint(ch)) |
152 { |
152 { |
153 m_string += ch; |
153 m_string += ch; |
154 m_data << int(ch); |
154 m_data.push_back(static_cast<int>(ch)); |
155 ++m_length; |
155 ++m_length; |
156 } |
156 } |
157 } |
157 } |
158 |
158 |
159 // ------------------------------------------------------------------------------------------------- |
159 // ------------------------------------------------------------------------------------------------- |
160 // |
160 // |
161 void ColoredLine::activateColor(Color color, bool bold) |
161 void ColoredLine::activateColor(Color color, bool bold) |
162 { |
162 { |
163 if (m_boldActive) |
163 if (m_boldActive) |
164 m_data << RLINE_OFF_BOLD; |
164 { |
165 |
165 m_data.push_back(RLINE_OFF_BOLD); |
|
166 } |
166 m_activeColor = color; |
167 m_activeColor = color; |
167 m_boldActive = bold; |
168 m_boldActive = bold; |
168 assert(m_activeColor < 8); |
169 assert(m_activeColor < 8); |
169 setColor(m_activeColor, true); |
170 setColor(m_activeColor, true); |
170 |
|
171 if (m_boldActive) |
171 if (m_boldActive) |
172 m_data << RLINE_ON_BOLD; |
172 { |
|
173 m_data.push_back(RLINE_ON_BOLD); |
|
174 } |
173 } |
175 } |
174 |
176 |
175 // ------------------------------------------------------------------------------------------------- |
177 // ------------------------------------------------------------------------------------------------- |
176 // |
178 // |
177 void ColoredLine::addString(const String& text) |
179 void ColoredLine::addString(const String& text) |
183 // ------------------------------------------------------------------------------------------------- |
185 // ------------------------------------------------------------------------------------------------- |
184 // |
186 // |
185 void ColoredLine::setColor(Color a, bool on) |
187 void ColoredLine::setColor(Color a, bool on) |
186 { |
188 { |
187 assert(a < 8); |
189 assert(a < 8); |
188 m_data << (a +(on ? RLINE_ON_COLOR : RLINE_OFF_COLOR)); |
190 m_data.push_back(a + (on ? RLINE_ON_COLOR : RLINE_OFF_COLOR)); |
189 } |
191 } |
190 |
192 |
191 // ------------------------------------------------------------------------------------------------- |
193 // ------------------------------------------------------------------------------------------------- |
192 // How many rows does this line take up? |
194 // How many rows does this line take up? |
193 // |
195 // |