From d6bed048741df610b9a4c5efb9c527bd792a6a2c Mon Sep 17 00:00:00 2001 From: Sylvain BERTRAND Date: Sun, 5 May 2024 14:05:50 +0000 Subject: [PATCH] npv:osd:smooth timer glyph rendering --- npv/video/osd/local/code.frag.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/npv/video/osd/local/code.frag.c b/npv/video/osd/local/code.frag.c index 04dad3c..091b674 100644 --- a/npv/video/osd/local/code.frag.c +++ b/npv/video/osd/local/code.frag.c @@ -501,12 +501,21 @@ STATIC void g_x(bool mode, FT_BitmapGlyph gb, struct pen_t *p) * gb_y + gb_x; /* the spread is 2 pixels */ if (128 <= *gb_sdf) { - if (*gb_sdf < 192) + if (*gb_sdf < 192) /* may end up in user configuration */ pix_do(mode, 0, 0, 0, scaler_pix, restore_pix); - else - pix_do(mode, 0xff, 0xff, 0xff, - scaler_pix, restore_pix); + else { + if (*gb_sdf != 255) { + /* [128,254] -> [0,127] * 2 */ + u8 gb_sdf_rescale = (0x7f & *gb_sdf) << 1; + pix_do(mode, gb_sdf_rescale, gb_sdf_rescale, + gb_sdf_rescale, scaler_pix, + restore_pix); + } else { + pix_do(mode, 0xff, 0xff, 0xff, + scaler_pix, restore_pix); + } + } } } ++gb_x; -- 2.11.4.GIT