Code

colors: added enum color_t
authorMax Kellermann <max@duempel.org>
Fri, 3 Oct 2008 10:57:31 +0000 (12:57 +0200)
committerMax Kellermann <max@duempel.org>
Fri, 3 Oct 2008 10:57:31 +0000 (12:57 +0200)
Instead of declaring a bunch of CPP macros, use a C enum for
identifying colors.

src/colors.c
src/colors.h

index 507be48cac88d547dce892a499c50874ccbd68c1..690b9f20dc529d442a195484dc3b7350f80d444f 100644 (file)
@@ -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 */
index f8a22d2f4c1f380a718bab6f2bd055789c6bf182..df03355611a4ba8c79cfb266b64105365daac093 100644 (file)
@@ -3,23 +3,25 @@
 
 #include <ncurses.h>
 
-#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 */