Mercurial > emacs
changeset 45522:1513f6afe56f
(tty_capable_p): New function.
author | Miles Bader <miles@gnu.org> |
---|---|
date | Sun, 26 May 2002 07:23:47 +0000 |
parents | d60b0f201386 |
children | 7b343e11e4a3 |
files | src/term.c |
diffstat | 1 files changed, 25 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/term.c Sun May 26 07:22:22 2002 +0000 +++ b/src/term.c Sun May 26 07:23:47 2002 +0000 @@ -1987,6 +1987,31 @@ } +/* Return non-zero if the terminal on frame F supports all of the + capabilities in CAPS simultaneously, with foreground and background + colors FG and BG. */ + +int tty_capable_p (f, caps, fg, bg) + struct frame *f; + unsigned caps; + unsigned long fg, bg; +{ +#define TTY_CAPABLE_P_TRY(cap, TS, NC_bit) \ + if ((caps & (cap)) && (!(TS) || !MAY_USE_WITH_COLORS_P(NC_bit))) \ + return 0; + + TTY_CAPABLE_P_TRY (TTY_CAP_INVERSE, TS_standout_mode, NC_REVERSE); + TTY_CAPABLE_P_TRY (TTY_CAP_UNDERLINE, TS_enter_underline_mode, NC_UNDERLINE); + TTY_CAPABLE_P_TRY (TTY_CAP_BOLD, TS_enter_bold_mode, NC_BOLD); + TTY_CAPABLE_P_TRY (TTY_CAP_DIM, TS_enter_dim_mode, NC_DIM); + TTY_CAPABLE_P_TRY (TTY_CAP_BLINK, TS_enter_blink_mode, NC_BLINK); + TTY_CAPABLE_P_TRY (TTY_CAP_ALT_CHARSET, TS_enter_alt_charset_mode, NC_ALT_CHARSET); + + /* We can do it! */ + return 1; +} + + /* Return non-zero if the terminal is capable to display colors. */ DEFUN ("tty-display-color-p", Ftty_display_color_p, Stty_display_color_p,