From 43dfcc89822e46657db0d2bd52721e4ce852a357 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 3 Oct 2008 12:57:31 +0200 Subject: [PATCH] colors: added enum color_t Instead of declaring a bunch of CPP macros, use a C enum for identifying colors. --- src/colors.c | 10 +++++----- src/colors.h | 26 ++++++++++++++------------ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/colors.c b/src/colors.c index 507be48..690b9f2 100644 --- a/src/colors.c +++ b/src/colors.c @@ -58,7 +58,7 @@ typedef struct { } color_definition_entry_t; typedef struct { - int id; + enum color id; const char *name; short fg; attr_t attrs; @@ -86,7 +86,7 @@ static short bg = COLOR_BLACK; static GList *color_definition_list = NULL; static color_entry_t * -colors_lookup(int id) +colors_lookup(enum color id) { int i = 0; @@ -114,7 +114,7 @@ colors_lookup_by_name(const char *name) } static int -colors_update_pair(int id) +colors_update_pair(enum color id) { color_entry_t *entry = colors_lookup(id); short fg = -1; @@ -279,7 +279,7 @@ colors_start(void) } int -colors_use(WINDOW *w, int id) +colors_use(WINDOW *w, enum color id) { color_entry_t *entry = colors_lookup(id); short pair; @@ -292,7 +292,7 @@ colors_use(WINDOW *w, int id) if (options.enable_colors) { /* color mode */ - if (attrs != entry->attrs || id != pair) + if (attrs != entry->attrs || (short)id != pair) wattr_set(w, entry->attrs, id, NULL); } else { /* mono mode */ diff --git a/src/colors.h b/src/colors.h index f8a22d2..df03355 100644 --- a/src/colors.h +++ b/src/colors.h @@ -3,23 +3,25 @@ #include -#define COLOR_TITLE 1 -#define COLOR_TITLE_BOLD 2 -#define COLOR_LINE 3 -#define COLOR_LINE_BOLD 4 -#define COLOR_LIST 5 -#define COLOR_LIST_BOLD 6 -#define COLOR_PROGRESSBAR 7 -#define COLOR_STATUS 8 -#define COLOR_STATUS_BOLD 9 -#define COLOR_STATUS_TIME 10 -#define COLOR_STATUS_ALERT 11 +enum color { + COLOR_TITLE = 1, + COLOR_TITLE_BOLD, + COLOR_LINE, + COLOR_LINE_BOLD, + COLOR_LIST, + COLOR_LIST_BOLD, + COLOR_PROGRESSBAR, + COLOR_STATUS, + COLOR_STATUS_BOLD, + COLOR_STATUS_TIME, + COLOR_STATUS_ALERT, +}; short colors_str2color(const char *str); int colors_assign(const char *name, const char *value); int colors_define(const char *name, short r, short g, short b); int colors_start(void); -int colors_use(WINDOW *w, int id); +int colors_use(WINDOW *w, enum color id); #endif /* COLORS_H */ -- 2.30.2