Инициализация curses
В этом разделе рассмотрены команды, применяемые для инициализации curses.
Для инициализации curses применяются следующие команды:
| Команда | Описание |
|---|---|
| endwin | Завершает работу библиотеки curses и очищает ее структуры данных |
| initscr | Инициализирует библиотеку curses и ее структуры данных |
| isendwin | Возвращает значение TRUE после вызова функции endwin, но до вызова функции wrefresh |
| newterm | Настраивает новый терминал |
| setupterm | Настраивает структуру TERMINAL библиотеки curses |
#include <curses.h>Для работы с функциями управления окнами и экранами нужно предварительно вызвать функцию initscr или newterm. Эти функции сохраняют настройки терминала, а затем вызывают функцию setupterm, настраивающую терминал curses.
Приостановить работу библиотеки curses можно, например, с помощью системного вызова. Для восстановления работы необходимо вызвать функцию wrefresh или doupdate. Перед завершением программа, работающая с curses, должна вызвать функцию endwin. Эта функция восстанавливает исходные режимы терминала, перемещает курсор в левый нижний угол экрана и переводит терминал в текстовый режим.
- Функция nonl.
- Функция intrflush со значением stdscr в параметреWindow и FALSE в параметре Flag. Параметр Window обязателен, но его значение игнорируется. Поэтому в параметре Window можно указать уже существующую структуру stdscr.
- Функция keypad со значением stdscr в параметре Window и значением TRUE в параметре Flag.
Функция isendwin позволяет повысить эффективность работы программы путем исключения лишних вызовов wrefresh. Функция isendwin позволяет выяснить, запускалась ли функция wrefresh после последнего вызова endwin.