scrollpad: tidy Scrollpad::flush a bit
This commit is contained in:
@@ -40,15 +40,11 @@ m_real_height(height)
|
|||||||
|
|
||||||
void Scrollpad::flush()
|
void Scrollpad::flush()
|
||||||
{
|
{
|
||||||
recreate(m_width, m_height);
|
|
||||||
|
|
||||||
auto &w = static_cast<Window &>(*this);
|
auto &w = static_cast<Window &>(*this);
|
||||||
const auto &s = m_buffer.str();
|
const auto &s = m_buffer.str();
|
||||||
const auto &ps = m_buffer.properties();
|
const auto &ps = m_buffer.properties();
|
||||||
auto p = ps.begin();
|
auto p = ps.begin();
|
||||||
auto old_p = p;
|
size_t i = 0;
|
||||||
int x, y;
|
|
||||||
size_t i = 0, old_i;
|
|
||||||
|
|
||||||
auto load_properties = [&]() {
|
auto load_properties = [&]() {
|
||||||
for (; p != ps.end() && p->position() == i; ++p)
|
for (; p != ps.end() && p->position() == i; ++p)
|
||||||
@@ -71,10 +67,13 @@ void Scrollpad::flush()
|
|||||||
auto write_buffer = [&](bool generate_height_only) -> size_t {
|
auto write_buffer = [&](bool generate_height_only) -> size_t {
|
||||||
int new_y;
|
int new_y;
|
||||||
size_t height = 1;
|
size_t height = 1;
|
||||||
|
size_t old_i;
|
||||||
|
auto old_p = p;
|
||||||
|
int x, y;
|
||||||
i = 0;
|
i = 0;
|
||||||
p = ps.begin();
|
p = ps.begin();
|
||||||
y = getY();
|
y = getY();
|
||||||
while (true)
|
while (i < s.length())
|
||||||
{
|
{
|
||||||
// write all whitespaces.
|
// write all whitespaces.
|
||||||
write_whitespace();
|
write_whitespace();
|
||||||
@@ -136,9 +135,6 @@ void Scrollpad::flush()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i == s.length())
|
|
||||||
break;
|
|
||||||
|
|
||||||
if (generate_height_only)
|
if (generate_height_only)
|
||||||
{
|
{
|
||||||
// move to the first line, since when we do
|
// move to the first line, since when we do
|
||||||
|
|||||||
Reference in New Issue
Block a user