/ programowanie

Ncurses - przezroczyste tło

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żywaniaautomaketo 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ło
attron(COLOR_PAIR(1)); // lub wattron dla jakiegoś okna

Koniec.