Руководство программиста для Linux


Видеоатрибуты и цвет


Атрибуты - это специальные возможности терминала, применяемые во время печати символов на экран. Символы могут быть напечататы жирно, могут быть подчеркнуты, могут мигать и т.д. В ncurses вы имеете возможность включать или отключать атрибуты для достижения наилучшего внешнего вида вывода. Возможные атрибуты перечислены в нижеследующей таблице.

Определение | Цвет --------------|----------- COLOR_BLACK | черный COLOR_RED | красный COLOR_GREEN | зеленый COLOR_YELLOW | желтый COLOR_BLUE | синий COLOR_MAGENTA | пурпурный COLOR_CYAN | голубой COLOR_WHITE | белый

Ncurses определяет 8 цветов, которыми вы можете пользоваться на терминале с цветовой поддержкой. Сначала проинициализируйте цветовые структуры данных посредством start_color(), затем проверьте возможности терминала при помощи has_colors(). start_color() будет инициализировать COLORS, наибольшее количество цветов, поддерживаемых терминалом, и COLOR_PAIR, максимальное число цветовых пар, которые вы можете определить.

Атрибуты могут быть совмещены '|' (OR), поэтому вы можете получить четкий мерцающий вывод при помощи A_BOLD|A_BLINK

Если вы установите окно с атрибутом attr, все символы, напечатанные в этом окне, приобретут это свойство и будут его сохранять до изменения вами атрибута. Это не будет утеряно при прокрутке или движении окна и т.п.

Будьте осторожны с цветами, если вы пишете программы для ncurses и BSD curses, так как BSD curses не имеет цветовой поддержки. (Точно так же не имеют цветовой поддержки старые версии SYS V). Поэтому, если вы компилируете для обеих библиотек, вам придется использовать операции #ifdef. * int attroff(attr) int wattroff(win, attr) int attron(attr) int wattron(win, attr)

Включают или отключают указанный атрибут attr, не влияя на другие атрибуты в окне (stdscr или win). * int attrset(attr) int wattrset(win, attr)

Установка атрибута в attr в stdscr или win. * int standout() int standend() int wstandout(win) int wstandend(win)

Включают атрибут наиболее яркого режима для окна (stdscr или win). * chtype getattrs(win)




Начало  Назад  Вперед



Книжный магазин