From a9d54814b7337c78df8fae69895d1f0554517c43 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Fri, 11 Feb 2022 13:59:03 +0800 Subject: [PATCH] Don't make cursors affected by background alpha on PGTK * src/ftcrfont.c (ftcrfont_draw): * src/pgtkterm.c (x_clear_glyph_string_rect): Make behavior on PGTK consistent with X. --- src/ftcrfont.c | 3 ++- src/pgtkterm.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ftcrfont.c b/src/ftcrfont.c index 4d1ecee3788..98a28af5f22 100644 --- a/src/ftcrfont.c +++ b/src/ftcrfont.c @@ -568,7 +568,8 @@ ftcrfont_draw (struct glyph_string *s, #ifdef HAVE_X_WINDOWS x_set_cr_source_with_gc_background (f, s->gc, s->hl != DRAW_CURSOR); #else - pgtk_set_cr_source_with_color (f, s->xgcv.background, true); + pgtk_set_cr_source_with_color (f, s->xgcv.background, + s->hl != DRAW_CURSOR); #endif #else uint32_t col = be_background; diff --git a/src/pgtkterm.c b/src/pgtkterm.c index 8faffe94d42..43c475f2a73 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c @@ -1197,7 +1197,9 @@ pgtk_compute_glyph_string_overhangs (struct glyph_string *s) static void x_clear_glyph_string_rect (struct glyph_string *s, int x, int y, int w, int h) { - pgtk_fill_rectangle (s->f, s->xgcv.background, x, y, w, h, true); + pgtk_fill_rectangle (s->f, s->xgcv.background, x, y, w, h, + (s->first_glyph->type != STRETCH_GLYPH + || s->hl != DRAW_CURSOR)); } -- 2.39.5