Added macros which allow easy specify color pair like:

    INIT_COLOR(YELLOW, BLACK);
    COLOR(YELLOW, BLACK);
    COLOR_ON(YELLOW, BLACK);

by calculating pair id via generic formula. Added shorter
color names via new enum.

Signed-off-by: Vadim Kochan <vadi...@gmail.com>
---
 screen.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/screen.h b/screen.h
index 7a647be..f5a15d4 100644
--- a/screen.h
+++ b/screen.h
@@ -3,6 +3,23 @@
 
 #include <curses.h>
 
+enum colors {
+       BLACK   = COLOR_BLACK,
+       RED     = COLOR_RED,
+       GREEN   = COLOR_GREEN,
+       YELLOW  = COLOR_YELLOW,
+       BLUE    = COLOR_BLUE,
+       MAGENTA = COLOR_MAGENTA,
+       CYAN    = COLOR_CYAN,
+       WHITE   = COLOR_WHITE,
+};
+
+#define COLOR_MASK(fg, bg) ((fg) + (bg) * (COLOR_WHITE + 1))
+#define COLOR(fg, bg) COLOR_PAIR(COLOR_MASK((fg), (bg)))
+#define INIT_COLOR(fg, bg) init_pair(COLOR_MASK((fg), (bg)), (fg), (bg))
+#define COLOR_ON(fg, bg) attron(COLOR(fg, bg))
+#define COLOR_OFF(fg, bg) attroff(COLOR(fg, bg))
+
 extern WINDOW *screen_init(bool israw);
 extern void screen_end(void);
 
-- 
2.6.3

-- 
You received this message because you are subscribed to the Google Groups 
"netsniff-ng" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to netsniff-ng+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to