From df5a440b3b364a88371fcb2e91135faa8b7db3e1 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 18 Feb 1994 01:01:51 +0000 Subject: [PATCH] (dumpglyphs): Try various alternatives for foreground color of a glyph with the cursor on it. --- src/xterm.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/xterm.c b/src/xterm.c index 5580fbdda69..7a4a718374d 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -569,7 +569,25 @@ dumpglyphs (f, left, top, gp, n, hl) unsigned long mask; xgcv.background = f->display.x->cursor_pixel; - xgcv.foreground = f->display.x->cursor_foreground_pixel; + if (face == FRAME_DEFAULT_FACE (f)) + xgcv.foreground = f->display.x->cursor_foreground_pixel; + else + xgcv.foreground = face->foreground; + /* If the glyph would be invisible, + try a different foreground. */ + if (xgcv.foreground == xgcv.background) + xgcv.foreground = face->background; + if (xgcv.foreground == xgcv.background) + xgcv.foreground = f->display.x->cursor_foreground_pixel; + if (xgcv.foreground == xgcv.background) + xgcv.foreground = face->foreground; + /* Make sure the cursor is distinct from text in this face. */ + if (xgcv.background == face->background + && xgcv.foreground == face->foreground) + { + xgcv.background = face->foreground; + xgcv.foreground = face->background; + } xgcv.font = face->font->fid; xgcv.graphics_exposures = 0; mask = GCForeground | GCBackground | GCFont | GCGraphicsExposures; -- 2.39.5