sixel: wip: split up image being overwritten, rather than erasing it

Instead of completely erasing a sixel image when it is being
"overwritten" (text is printed somewhere within the image, or another
sixel image is emitted within the first image), split it up into up to
four pieces: 'above', 'below', 'to-the-left' and 'to-the-right'.

This is currently very un-optimized, but seems to produce correct
results.
This commit is contained in:
Daniel Eklöf 2020-06-23 21:07:12 +02:00
parent bae11000cc
commit bc82d4ee28
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 142 additions and 2 deletions

View file

@ -15,6 +15,7 @@ void sixel_destroy(struct sixel *sixel);
void sixel_delete_in_range(struct terminal *term, int start, int end);
void sixel_delete_at_row(struct terminal *term, int _row);
void sixel_delete_at_cursor(struct terminal *term);
void sixel_split_at_cursor(struct terminal *term);
void sixel_colors_report_current(struct terminal *term);
void sixel_colors_reset(struct terminal *term);