mirror of
https://github.com/MidnightCommander/mc
synced 2025-01-08 20:41:59 +03:00
139e48183f
* src/color.c: Likewise. * edit/editdraw.c (print_to_widget): Make tabs and trailing whitespace characters visible. (edit_draw_this_line): Likewise.
100 lines
3.1 KiB
C
100 lines
3.1 KiB
C
#ifndef MC_COLOR_H
|
|
#define MC_COLOR_H
|
|
|
|
extern int use_colors;
|
|
extern int disable_colors;
|
|
|
|
extern int attr_pairs [];
|
|
#ifdef HAVE_SLANG
|
|
# define MY_COLOR_PAIR(x) COLOR_PAIR(x)
|
|
#else
|
|
# define MY_COLOR_PAIR(x) (COLOR_PAIR(x) | attr_pairs [x])
|
|
#endif
|
|
|
|
#define IF_COLOR(co,bw) (use_colors ? MY_COLOR_PAIR(co) : bw)
|
|
|
|
/* Beware! When using Slang with color, not all the indexes are free.
|
|
See myslang.h (A_*) */
|
|
#define NORMAL_COLOR IF_COLOR (1, 0)
|
|
#define SELECTED_COLOR IF_COLOR (2, A_REVERSE)
|
|
#define MARKED_COLOR IF_COLOR (3, A_BOLD)
|
|
|
|
#ifdef HAVE_SLANG
|
|
#define MARKED_SELECTED_COLOR IF_COLOR (4, (SLtt_Use_Ansi_Colors ? A_BOLD_REVERSE : A_REVERSE | A_BOLD))
|
|
#else
|
|
#define MARKED_SELECTED_COLOR IF_COLOR (4, A_REVERSE | A_BOLD)
|
|
#endif
|
|
|
|
#define ERROR_COLOR IF_COLOR (5, A_BOLD)
|
|
#define MENU_ENTRY_COLOR IF_COLOR (6, A_REVERSE)
|
|
#define REVERSE_COLOR IF_COLOR (7, A_REVERSE)
|
|
|
|
extern int dialog_colors[4];
|
|
extern int alarm_colors[4];
|
|
|
|
/* Dialog colors */
|
|
#define COLOR_NORMAL IF_COLOR (8, A_REVERSE)
|
|
#define COLOR_FOCUS IF_COLOR (9, A_BOLD)
|
|
#define COLOR_HOT_NORMAL IF_COLOR (10, 0)
|
|
#define COLOR_HOT_FOCUS IF_COLOR (11, 0)
|
|
|
|
#define VIEW_UNDERLINED_COLOR IF_COLOR (12, A_UNDERLINE)
|
|
#define MENU_SELECTED_COLOR IF_COLOR (13, A_BOLD)
|
|
#define MENU_HOT_COLOR IF_COLOR (14, 0)
|
|
#define MENU_HOTSEL_COLOR IF_COLOR (15, 0)
|
|
|
|
#define HELP_NORMAL_COLOR IF_COLOR (16, A_REVERSE)
|
|
#define HELP_ITALIC_COLOR IF_COLOR (17, A_REVERSE)
|
|
#define HELP_BOLD_COLOR IF_COLOR (18, A_REVERSE)
|
|
#define HELP_LINK_COLOR IF_COLOR (19, 0)
|
|
#define HELP_SLINK_COLOR IF_COLOR (20, A_BOLD)
|
|
|
|
/*
|
|
* This should be selectable independently. Default has to be black background
|
|
* foreground does not matter at all.
|
|
*/
|
|
#define GAUGE_COLOR IF_COLOR (21, 0)
|
|
#define INPUT_COLOR IF_COLOR (22, 0)
|
|
|
|
/* Add this to color panel, on BW all pairs are normal */
|
|
#define DIRECTORY_COLOR IF_COLOR (23, 0)
|
|
#define EXECUTABLE_COLOR IF_COLOR (24, 0)
|
|
#define LINK_COLOR IF_COLOR (25, 0)
|
|
#define STALE_LINK_COLOR IF_COLOR (26, 0)
|
|
#define DEVICE_COLOR IF_COLOR (27, 0)
|
|
#define SPECIAL_COLOR IF_COLOR (28, 0)
|
|
#define CORE_COLOR IF_COLOR (29, 0)
|
|
|
|
|
|
/* For the default color any unused index may be chosen. */
|
|
#define DEFAULT_COLOR_INDEX 30
|
|
#define DEFAULT_COLOR IF_COLOR (DEFAULT_COLOR_INDEX, 0)
|
|
|
|
/*
|
|
* editor colors - only 4 for normal, search->found, select, and whitespace
|
|
* respectively
|
|
* Last is defined to view color.
|
|
*/
|
|
#define EDITOR_NORMAL_COLOR_INDEX 34
|
|
#define EDITOR_NORMAL_COLOR IF_COLOR (EDITOR_NORMAL_COLOR_INDEX, 0)
|
|
#define EDITOR_BOLD_COLOR IF_COLOR (35, A_BOLD)
|
|
#define EDITOR_MARKED_COLOR IF_COLOR (36, A_REVERSE)
|
|
#define EDITOR_WHITESPACE_COLOR IF_COLOR (37, 0 /* irrelevant */)
|
|
|
|
/* Error dialog colors */
|
|
#define ERROR_HOT_NORMAL IF_COLOR (38, 0)
|
|
#define ERROR_HOT_FOCUS IF_COLOR (39, 0)
|
|
|
|
#ifdef HAVE_SLANG
|
|
# define CTYPE const char *
|
|
#else
|
|
# define CTYPE int
|
|
#endif
|
|
|
|
void init_colors (void);
|
|
void done_colors (void);
|
|
void mc_init_pair (int index, CTYPE foreground, CTYPE background);
|
|
int try_alloc_color_pair (const char *fg, const char *bg);
|
|
|
|
#endif
|