Вот я написал небольшую программку:
#include <ncurses.h>
#define SPACE ' '
#define YELLOW_ON_BLUE 1
#define COLOR_WHITE 7
#define COLOR_BLUE 4
void fullink(void);
int main(void)
{
if (!(initscr()))
{
printf("error: initscr() failed!\n");
exit (1);
}
if (!(has_colors()))
{
endwin();
printf("error: Your terminal doesn't support color mode!\n");
exit (1);
}
start_color();
init_pair(YELLOW_ON_BLUE,COLOR_WHITE,COLOR_BLUE);
attrset(COLOR_PAIR(YELLOW_ON_BLUE));
fullink;
mvaddstr(0,0,"Welcome to Ncurses color mode!");
refresh();
endwin();
return 0;
}
void fullink(void)
{
int maxy, maxx, y, x;
getmaxyx(stdscr, maxy, maxx);
for (y=0;y<maxy;y++)
{
for (x=0;x<maxx;x++)
{
mvaddch(y,x,SPACE);
}
}
}
Проблема в том, что весь экран почему-то не перекрашивается в голубой цвет! Хотя функция fullink должна это делать. Не пойму я.
Вопросы по Ncurses (не судите строго)
Модератор: Модераторы разделов
-
Avdonin
- Сообщения: 54
- ОС: Debian Etch 4.0
Вопросы по Ncurses
"Папа, я, когда вырасту, тоже стану рутом!" ©
-
WolfON
- Сообщения: 226
Re: Вопросы по Ncurses
initscr красит синим - стандарт. правим кажись редефайном каким-то. ртфм в-общем
ArchLinux on AXP2000+/768/ATI R9600XT
Registered Linux User 396336
Registered Linux User 396336
-
Avdonin
- Сообщения: 54
- ОС: Debian Etch 4.0
Re: Вопросы по Ncurses
(WolfON @ Воскресенье, 28 Августа 2005, 20:28) писал(а):initscr красит синим - стандарт. правим кажись редефайном каким-то. ртфм в-общем
Не знаю как у тебя, но у меня initscr() синим не красит по умолчанию
"Папа, я, когда вырасту, тоже стану рутом!" ©
-
n1tr0gen
- Сообщения: 149
Re: Вопросы по Ncurses
После вызова refresh(), но перед endwin(), произведи вызов getch() или sleep(5) например. Мне кажется просто не успевает отрисоваться.
-
Ananas
- Сообщения: 64
Re: Вопросы по Ncurses
скобочки после fullink кто ставить будет? потому и не раскрашивается.