LINUX.ORG.RU

ncurses цвета


0

1

Нужно чтоб все сиволы были зелёными на чёрном фоне. Поэтому перед выполнением основного кода сделал

    init_pair(1, COLOR_GREEN, COLOR_BLACK );
    bkgd( COLOR_PAIR(1) );
Н вот понадобилось сделать иногда некоторые символы белыми на чёрном фоне. Точнее символ должен появиться белым потом тут-же перекраситься в зелёный.

хотелось так

    init_pair(1, COLOR_GREEN, COLOR_BLACK );
    init_pair(2, COLOR_WHITE, COLOR_BLACK);
//...
// вывод символа.
        move(x,y);
        char ch = get_good_char()|COLOR_PAIR(1);
        addch(ch);
        refresh();
        usleep(10000);
        move(x,y);
        ch = get_good_char()|COLOR_PAIR(2);
        addch(ch);
        refresh();

Но всё получается белым. Да и ещё с некоторыми багами связаными уже с работой программы, это изза usleep(10000); внутри критической секции(pthread), тут либо архитектуру менять, либо придумывать другой способ мигающего белого символа.

Но самый главнй вопрос, всё-же почему вышеуказанный код рисует всё белым? Если добавить bkgd( COLOR_PAIR(1) ); то все символы зелёные, и никто не мигает.


Нужно чтоб все сиволы были зелёными на чёрном фоне

Тоже взламываешь главный сервер ФБР?

CYB3R ★★★★★
()
Ответ на: комментарий от CYB3R

Нет просто балуюсь написанием заставки из матрицы. Всё уже круто за исключением того, что мне хочется чтоб символ когда появился стал белым а потом уже зелёным.

vsrmis
() автор топика

usleep(10000) это 10 _миллисекунд_, Вы уверены что заметите это моргание?

Eshkin_kot ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.