mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
sixel: avoid looking up color from palette for each sixel
Instead, do the palette lookup when we receive the DECGCI (i.e. when the palette entry is selected), and store the actual color value in our sixel struct.
This commit is contained in:
parent
f9642e9597
commit
47c32d5913
2 changed files with 4 additions and 3 deletions
6
sixel.c
6
sixel.c
|
|
@ -1272,8 +1272,6 @@ sixel_add(struct terminal *term, int col, int width, uint32_t color, uint8_t six
|
|||
static void
|
||||
sixel_add_many(struct terminal *term, uint8_t c, unsigned count)
|
||||
{
|
||||
uint32_t color = term->sixel.palette[term->sixel.color_idx];
|
||||
|
||||
int col = term->sixel.pos.col;
|
||||
int width = term->sixel.image.width;
|
||||
|
||||
|
|
@ -1283,6 +1281,7 @@ sixel_add_many(struct terminal *term, uint8_t c, unsigned count)
|
|||
return;
|
||||
}
|
||||
|
||||
uint32_t color = term->sixel.color;
|
||||
for (unsigned i = 0; i < count; i++, col++)
|
||||
sixel_add(term, col, width, color, c);
|
||||
|
||||
|
|
@ -1509,7 +1508,8 @@ decgci(struct terminal *term, uint8_t c)
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else
|
||||
term->sixel.color = term->sixel.palette[term->sixel.color_idx];
|
||||
|
||||
term->sixel.state = SIXEL_DECSIXEL;
|
||||
sixel_put(term, c);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue