summaryrefslogtreecommitdiff
path: root/screen.h
diff options
context:
space:
mode:
authorVadim Kochan <vadim4j@gmail.com>2016-04-17 20:31:27 +0300
committerTobias Klauser <tklauser@distanz.ch>2016-04-18 16:37:13 +0200
commitecc2fd769331d1285997e3b644df329d36c840d9 (patch)
tree82cf653f65366da3f719c39508c6d6fd2642b11b /screen.h
parente9bd3cd92b7f48d6550b328421d74f6554598e04 (diff)
screen: Add helpers to easy use color by name
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 <vadim4j@gmail.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Diffstat (limited to 'screen.h')
-rw-r--r--screen.h17
1 files changed, 17 insertions, 0 deletions
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);