mirror of
https://github.com/pocketpy/pocketpy
synced 2025-12-06 18:20:17 +00:00
fix a bug
This commit is contained in:
parent
8a80a4456f
commit
a6d0d9b04f
@ -143,6 +143,8 @@ static bool array2d_like_render(int argc, py_Ref argv) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void c11_color32_premult(c11_color32* color);
|
||||||
|
|
||||||
static bool array2d_like_render_with_color(int argc, py_Ref argv) {
|
static bool array2d_like_render_with_color(int argc, py_Ref argv) {
|
||||||
PY_CHECK_ARGC(3);
|
PY_CHECK_ARGC(3);
|
||||||
c11_sbuf buf;
|
c11_sbuf buf;
|
||||||
@ -193,10 +195,14 @@ static bool array2d_like_render_with_color(int argc, py_Ref argv) {
|
|||||||
if(curr_fg.u32 != 0 || curr_bg.u32 != 0) c11_sbuf__write_cstr(&buf, "\x1b[0m");
|
if(curr_fg.u32 != 0 || curr_bg.u32 != 0) c11_sbuf__write_cstr(&buf, "\x1b[0m");
|
||||||
curr_fg = new_fg;
|
curr_fg = new_fg;
|
||||||
curr_bg = new_bg;
|
curr_bg = new_bg;
|
||||||
if(curr_fg.u32 != 0)
|
if(curr_fg.u32 != 0) {
|
||||||
|
c11_color32_premult(&curr_fg);
|
||||||
pk_sprintf(&buf, "\x1b[38;2;%d;%d;%dm", curr_fg.r, curr_fg.g, curr_fg.b);
|
pk_sprintf(&buf, "\x1b[38;2;%d;%d;%dm", curr_fg.r, curr_fg.g, curr_fg.b);
|
||||||
if(curr_bg.u32 != 0)
|
}
|
||||||
|
if(curr_bg.u32 != 0) {
|
||||||
|
c11_color32_premult(&curr_bg);
|
||||||
pk_sprintf(&buf, "\x1b[48;2;%d;%d;%dm", curr_bg.r, curr_bg.g, curr_bg.b);
|
pk_sprintf(&buf, "\x1b[48;2;%d;%d;%dm", curr_bg.r, curr_bg.g, curr_bg.b);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
c11_sbuf__write_sv(&buf, py_tosv(py_retval()));
|
c11_sbuf__write_sv(&buf, py_tosv(py_retval()));
|
||||||
|
|||||||
@ -944,7 +944,7 @@ static bool color32_to_hex(int argc, py_Ref argv) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void c11_color32_premult(c11_color32* color) {
|
void c11_color32_premult(c11_color32* color) {
|
||||||
if(color->a == 255) return;
|
if(color->a == 255) return;
|
||||||
float alpha = color->a / 255.0f;
|
float alpha = color->a / 255.0f;
|
||||||
color->r = (unsigned char)(color->r * alpha);
|
color->r = (unsigned char)(color->r * alpha);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user