mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-24 01:40:12 -05:00
sixel: improve handling of images when reflowing the grids
Update the sixels' 'row' attribute when re-flowing a grid, to ensure it is rendered at the correct place. This should work in most cases, but will break when the cell size has changed (e.g. font size increase/decrease, or a DPI change). This patch also moves the sixel image list from the terminal struct into the grid struct. The sixels are per-grid after all.
This commit is contained in:
parent
62a5805d4b
commit
d482bf0a30
7 changed files with 69 additions and 42 deletions
5
render.c
5
render.c
|
|
@ -531,9 +531,6 @@ static void
|
|||
render_sixel(struct terminal *term, pixman_image_t *pix,
|
||||
const struct sixel *sixel)
|
||||
{
|
||||
if (sixel->grid != term->grid)
|
||||
return;
|
||||
|
||||
int view_end = (term->grid->view + term->rows - 1) & (term->grid->num_rows - 1);
|
||||
int first_visible_row = -1;
|
||||
|
||||
|
|
@ -599,7 +596,7 @@ render_sixel(struct terminal *term, pixman_image_t *pix,
|
|||
static void
|
||||
render_sixel_images(struct terminal *term, pixman_image_t *pix)
|
||||
{
|
||||
tll_foreach(term->sixel_images, it)
|
||||
tll_foreach(term->grid->sixel_images, it)
|
||||
render_sixel(term, pix, &it->item);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue