mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:37:35 +00:00
Terminal: Add support for REP ('b' final)
Patch contributed by "pd"
This commit is contained in:
parent
58a2b9336a
commit
1372f10dda
2 changed files with 17 additions and 0 deletions
|
@ -372,6 +372,15 @@ void Terminal::escape$G(const ParamVector& params)
|
|||
set_cursor(m_cursor_row, new_column);
|
||||
}
|
||||
|
||||
void Terminal::escape$b(const ParamVector& params)
|
||||
{
|
||||
if (params.size() < 1)
|
||||
return;
|
||||
|
||||
for (unsigned i = 0; i < params[0]; ++i)
|
||||
put_character_at(m_cursor_row, m_cursor_column++, m_last_char);
|
||||
}
|
||||
|
||||
void Terminal::escape$d(const ParamVector& params)
|
||||
{
|
||||
int new_row = 1;
|
||||
|
@ -617,6 +626,9 @@ void Terminal::execute_escape_sequence(byte final)
|
|||
case 'X':
|
||||
escape$X(params);
|
||||
break;
|
||||
case 'b':
|
||||
escape$b(params);
|
||||
break;
|
||||
case 'd':
|
||||
escape$d(params);
|
||||
break;
|
||||
|
@ -714,6 +726,8 @@ void Terminal::put_character_at(unsigned row, unsigned column, byte ch)
|
|||
line.characters[column] = ch;
|
||||
line.attributes[column] = m_current_attribute;
|
||||
line.dirty = true;
|
||||
|
||||
m_last_char = ch;
|
||||
}
|
||||
|
||||
void Terminal::on_char(byte ch)
|
||||
|
|
|
@ -63,6 +63,7 @@ private:
|
|||
void escape$M(const ParamVector&);
|
||||
void escape$G(const ParamVector&);
|
||||
void escape$X(const ParamVector&);
|
||||
void escape$b(const ParamVector&);
|
||||
void escape$d(const ParamVector&);
|
||||
void escape$m(const ParamVector&);
|
||||
void escape$s(const ParamVector&);
|
||||
|
@ -204,4 +205,6 @@ private:
|
|||
CTimer m_cursor_blink_timer;
|
||||
CTimer m_visual_beep_timer;
|
||||
RetainPtr<CConfigFile> m_config;
|
||||
|
||||
byte m_last_char { 0 };
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue