diff options
author | Vadim Kochan <vadim4j@gmail.com> | 2016-04-17 20:31:27 +0300 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2016-04-18 16:37:13 +0200 |
commit | ecc2fd769331d1285997e3b644df329d36c840d9 (patch) | |
tree | 82cf653f65366da3f719c39508c6d6fd2642b11b | |
parent | e9bd3cd92b7f48d6550b328421d74f6554598e04 (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>
-rw-r--r-- | screen.h | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -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); |