termpty: DECERA only changes codepoints

This commit is contained in:
Boris Faure 2017-06-26 21:58:59 +02:00
parent 956f1eaa13
commit 7ac685b68c
3 changed files with 16 additions and 1 deletions

View File

@ -1585,6 +1585,19 @@ termpty_cell_fill(Termpty *ty, Termcell *src, Termcell *dst, int n)
}
}
void
termpty_cells_set_content(Termpty *ty, Termcell *cells,
Eina_Unicode codepoint, int count)
{
int i;
for (i = 0; i < count; i++)
{
_handle_block_codepoint_overwrite(ty, cells[i].codepoint, codepoint);
cells[i].codepoint = codepoint;
}
}
void
termpty_cell_codepoint_att_fill(Termpty *ty, Eina_Unicode codepoint,
Termatt att, Termcell *dst, int n)

View File

@ -255,6 +255,8 @@ Termblock *termpty_block_chid_get(Termpty *ty, const char *chid);
void termpty_cell_copy(Termpty *ty, Termcell *src, Termcell *dst, int n);
void termpty_cell_fill(Termpty *ty, Termcell *src, Termcell *dst, int n);
void termpty_cell_codepoint_att_fill(Termpty *ty, Eina_Unicode codepoint, Termatt att, Termcell *dst, int n);
void termpty_cells_set_content(Termpty *ty, Termcell *cells,
Eina_Unicode codepoint, int count);
void termpty_screen_swap(Termpty *ty);
ssize_t termpty_line_length(const Termcell *cells, ssize_t nb_cells);

View File

@ -930,7 +930,7 @@ _handle_esc_csi_decera(Termpty *ty, Eina_Unicode **b)
for (; top <= bottom; top++)
{
Termcell *cells = &(TERMPTY_SCREEN(ty, left, top));
termpty_cells_clear(ty, cells, len);
termpty_cells_set_content(ty, cells, ' ', len);
}
}