Mercurial > emacs
comparison src/msdos.c @ 26902:264b83a3a688
Changes for separate unspecified foreground and background colors
on character terminals:
* dispextern.h (FACE_TTY_DEFAULT_FG_COLOR)
(FACE_TTY_DEFAULT_BG_COLOR): New macros.
* xfaces.c (Qunspecified_fg, Qunspecified_bg): New variables.
(syms_of_xfaces): Initialize and staticpro them.
(tty_defined_color): If the color name is unspecified-fg or
unspecified-bg, return FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR, respectively, as the pixel value.
(tty_color_name): If the color pixel value is either
FACE_TTY_DEFAULT_FG_COLOR or FACE_TTY_DEFAULT_BG_COLOR, return
Qunspecified_fg or Qunspecified_bg, respectively.
(Finternal_set_lisp_face_attribute): Allow values Qunspecified_fg
and Qunspecified_bg for foreground and background colors.
(realize_default_face): If the foreground and background colors
are not specified, default to Qunspecified_fg and Qunspecified_bg.
(realize_tty_face): By default, set the face colors to
FACE_TTY_DEFAULT_FG_COLOR and FACE_TTY_DEFAULT_BG_COLOR.
[MSDOS]: Handle FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR when face colors are not defined.
Reverse the colors if the default colors were reversed.
* dispnew.c (init_display): Initialize the frame pixels of the
initial frame to FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR.
* term.c (turn_on_face): If the default fore- and background
colors are reversed, enter inverse video mode. Don't send color
escape sequences for unspecified foreground and background colors.
(turn_off_face): Handle unspecified-fg and unspecified-bg colors.
* dosfns.c (unspecified_colors): New variable.
(msdos_stdcolor_idx): Handle unspecified-fg and unspecified-bg
color names, return FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR, respectively.
(msdos_stdcolor_name): Handle FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR, return Qunspecified_fg and
Qunspecified_bg, respectively.
* msdos.c (IT_set_face): Support FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR as pixel values.
* faces.el (face-read-integer, read-face-attribute)
(color-defined-p, color-values): Allow color values unspecified-fg
and unspecified-bg, handle them as unspecified.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Wed, 15 Dec 1999 13:14:38 +0000 |
parents | f5dded41adcc |
children | 9e0e23a92539 |
comparison
equal
deleted
inserted
replaced
26901:cfaf05bc5ac2 | 26902:264b83a3a688 |
---|---|
683 the colors of the default face, except that if highlight is on, | 683 the colors of the default face, except that if highlight is on, |
684 invert the foreground and the background. Note that we assume | 684 invert the foreground and the background. Note that we assume |
685 all 16 colors to be available for the background, since Emacs | 685 all 16 colors to be available for the background, since Emacs |
686 switches on this mode (and loses the blinking attribute) at | 686 switches on this mode (and loses the blinking attribute) at |
687 startup. */ | 687 startup. */ |
688 if (fg == (unsigned long)-1) | 688 if (fg == FACE_TTY_DEFAULT_COLOR || fg == FACE_TTY_DEFAULT_FG_COLOR) |
689 fg = highlight || fp->tty_reverse_p ? FRAME_BACKGROUND_PIXEL (sf) | 689 fg = highlight || fp->tty_reverse_p ? FRAME_BACKGROUND_PIXEL (sf) |
690 : FRAME_FOREGROUND_PIXEL (sf); | 690 : FRAME_FOREGROUND_PIXEL (sf); |
691 if (bg == (unsigned long)-1) | 691 else if (fg == FACE_TTY_DEFAULT_BG_COLOR) |
692 fg = highlight ? FRAME_FOREGROUND_PIXEL (sf) : FRAME_BACKGROUND_PIXEL (sf); | |
693 if (bg == FACE_TTY_DEFAULT_COLOR || fg == FACE_TTY_DEFAULT_BG_COLOR) | |
692 bg = highlight || fp->tty_reverse_p ? FRAME_FOREGROUND_PIXEL (sf) | 694 bg = highlight || fp->tty_reverse_p ? FRAME_FOREGROUND_PIXEL (sf) |
693 : FRAME_BACKGROUND_PIXEL (sf); | 695 : FRAME_BACKGROUND_PIXEL (sf); |
696 else if (bg == FACE_TTY_DEFAULT_FG_COLOR) | |
697 fg = highlight ? FRAME_BACKGROUND_PIXEL (sf) : FRAME_FOREGROUND_PIXEL (sf); | |
694 if (termscript) | 698 if (termscript) |
695 fprintf (termscript, "<FACE %d%s: %d/%d>", | 699 fprintf (termscript, "<FACE %d%s: %d/%d>", |
696 face, highlight ? "H" : "", fp->foreground, fp->background); | 700 face, highlight ? "H" : "", fp->foreground, fp->background); |
697 if (fg >= 0 && fg < 16) | 701 if (fg >= 0 && fg < 16) |
698 { | 702 { |