2009-12-13 18 views
6

Come iniziare una coppia di colori con uno sfondo grigio chiaro e una foregraound bianco brillante?Come ottenere un colore bianco brillante in ncurses?

init_pair (numero, COLOR_WHITE, COLOR_WHITE) crea una coppia di colori con il primo piano e il backround grigio chiaro, ma ho bisogno che il primo piano sia realmente bianco. Ho provato a combinare COLOR_WHITE con A_BLINK (tramite OR bit a bit) ma non funziona. Ncurses howto's/examples/documentaion non potrebbero aiutarmi neanche io.

risposta

2

Questo è solo un salto nel buio, io non sono molto ben informato ncurses:

Se c'è una funzione/parametro per trasformare il testo in grassetto , dare che una prova! Alcune implementazioni della mappatura del colore del testo usano colori più luminosi al posto di un font in grassetto.

3

Ho avuto un problema simile con python + curses. La soluzione è abilitare use_default_colors e quindi usare -1 come colore di sfondo.

Si tratta ad esempio di pitone, ma spero che sarebbe stato utile:

stdscr = curses.initscr() 
curses.start_color() 
curses.use_default_colors() 
curses.noecho() 
curses.cbreak() 
curses.init_pair(1, curses.COLOR_WHITE, -1) 
+0

Questo effettivamente dire di usare qualsiasi colore di sfondo del terminale che si ha. Quindi se il colore di sfondo del terminale è grigio chiaro, allora funziona, ma è solo per fortuna. – xryl669

7

è necessario impostare l'attributo grassetto. Chiama attron (A_BOLD) prima di scrivere e attroff (A_BOLD) dopo.

3
WINDOW *w = newwin(...); 
wattron(w,A_BOLD); 
<Your statements for mvwprintw, box, etc> 
Problemi correlati