From: Richard M. Stallman Date: Fri, 18 Feb 1994 01:01:51 +0000 (+0000) Subject: (dumpglyphs): Try various alternatives for foreground color X-Git-Tag: emacs-19.34~9865 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=df5a440b3b364a88371fcb2e91135faa8b7db3e1;p=emacs.git (dumpglyphs): Try various alternatives for foreground color of a glyph with the cursor on it. --- 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;