Mercurial > emacs
changeset 25113:73c54061f4bb
(msdos_stdcolor_name, msdos_stdcolor_idx): New
functions.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Fri, 30 Jul 1999 08:15:13 +0000 |
parents | 8bf9ad7816a8 |
children | be5d3e21fbd7 |
files | src/dosfns.c |
diffstat | 1 files changed, 40 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dosfns.c Fri Jul 30 08:11:41 1999 +0000 +++ b/src/dosfns.c Fri Jul 30 08:15:13 1999 +0000 @@ -26,6 +26,7 @@ /* The entire file is within this conditional */ #include <stdio.h> +#include <string.h> #include <dos.h> #include "lisp.h" #include "buffer.h" @@ -36,6 +37,7 @@ #include "window.h" #include "dosfns.h" #include "msdos.h" +#include "dispextern.h" #include <dpmi.h> #include <go32.h> #include <dirent.h> @@ -401,6 +403,44 @@ } #ifndef HAVE_X_WINDOWS + +/* Emulation of some X window features from xfns.c and xfaces.c. */ + +/* Standard VGA colors, in the order of their standard numbering + in the default VGA palette. */ +static char *vga_colors[16] = { + "black", "blue", "green", "cyan", "red", "magenta", "brown", + "lightgray", "darkgray", "lightblue", "lightgreen", "lightcyan", + "lightred", "lightmagenta", "yellow", "white" +}; + +/* Given a color name, return its index, or -1 if not found. Note + that this only performs case-insensitive comparison against the + standard names. For anything more sophisticated, like matching + "gray" with "grey" or translating X color names into their MSDOS + equivalents, call the Lisp function Qmsdos_color_translate (defined + on lisp/term/pc-win.el). */ +int +msdos_stdcolor_idx (const char *name) +{ + int i; + + for (i = 0; i < sizeof (vga_colors) / sizeof (vga_colors[0]); i++) + if (strcasecmp (name, vga_colors[i]) == 0) + return i; + + return FACE_TTY_DEFAULT_COLOR; +} + +/* Given a color index, return its standard name. */ +const char * +msdos_stdcolor_name (int idx) +{ + if (idx < 0 || idx >= sizeof (vga_colors) / sizeof (vga_colors[0])) + return ""; /* meaning the default */ + return vga_colors[idx]; +} + /* Support for features that are available when we run in a DOS box on MS-Windows. */ int