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 void
termpty_cell_codepoint_att_fill(Termpty *ty, Eina_Unicode codepoint, termpty_cell_codepoint_att_fill(Termpty *ty, Eina_Unicode codepoint,
Termatt att, Termcell *dst, int n) 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_copy(Termpty *ty, Termcell *src, Termcell *dst, int n);
void termpty_cell_fill(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_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); void termpty_screen_swap(Termpty *ty);
ssize_t termpty_line_length(const Termcell *cells, ssize_t nb_cells); 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++) for (; top <= bottom; top++)
{ {
Termcell *cells = &(TERMPTY_SCREEN(ty, left, top)); Termcell *cells = &(TERMPTY_SCREEN(ty, left, top));
termpty_cells_clear(ty, cells, len); termpty_cells_set_content(ty, cells, ' ', len);
} }
} }