Aby uzyskać przezroczyste tło w ncurses należy użyć funkcji use_default_colors``` i ustawić tło na -1. Oto kod:
if(has_colors() == TRUE){ start_color();
#if HAVE_USE_DEFAULT_COLORS if(use_default_colors() == OK) { background = -1; }#endif
init_pair(1, text, background);}
Oczywiście pod text
i background
podstawiasz własne kolory. Tylko jeżeli chcesz mieć przezroczyste tło to background
musi mieć wartość -1
. No i jeżeli use_default_colors()
nie będzie się równać OK
to ustawienie -1`` dla tła nic nie da ;-] A, jeszcze jedno. Jeżeli kompilujesz program bez używania
automaketo ustaw przed
#if HAVE_USE_DEFAULT_COLORS“
#define HAVE_USE_DEFAULT_COLORS 1
bo jeżeli tego nie ustawisz to to co w if
nie będzie się wykonywało ;-] Taka mała uwaga jak by ktoś zapomniał ;-p Hm, i żeby ustawić ładnie wszystko to używasz wtedy
bkgd(COLOR_PAIR(1)); // ustawia tłoattron(COLOR_PAIR(1)); // lub wattron dla jakiegoś okna
Koniec.