Unix Man (Справочное руководство)


CURSES(3X) - часть 5


isendwin ( )

Возвращает значение TRUE, если перед этим был вызов процедуры endwin, но еще не было вызова wrefresh или doupdate.

SCREEN *newterm (type, outgf, infd)

Программа, осуществляющая вывод на несколько терминалов одновременно, должна использовать для инициализации каждого из них не initscr, а newterm. Программа, которая сама может обрабатывать ошибки инициализации, например, путем работы в строчном режиме вместо экранного, также должна использовать для инициализации процедуру newterm. В случае нескольких терминалов процедура newterm должна быть вызвана для каждого терминала. Процедура возвращает значение типа SCREEN *, которое должно быть сохранено для последующих ссылок на терминал. Аргумент type задает имя терминала, которое будет использоваться вместо значения переменной окружения TERM, аргумент outfd является указателем потока, открытого на вывод [см. ], а аргумент infd - это указатель потока, открытого на ввод. При завершении программа должна вызвать процедуру endwin для каждого терминала. Если newterm вызывался несколько раз для одного и того же терминала, endwin должен вызываться в порядке, обратном вызовам newterm.

SCREEN *set_term (new)

Эта процедура используется для переключения между несколькими терминалами. Терминал, на который ссылается аргумент new, становится текущим. Процедура возвращает указатель на терминал, бывший до этого текущим. Это единственная процедура, которая манипулирует указателями типа SCREEN *; все остальные процедуры относятся к текущему терминалу.

Управление окнами


refresh ( )
wrefresh (win)

Эти процедуры (или процедуры prefresh, pnoutrefresh, wnoutrefresh или doupdate) должны вызываться для реального вывода на экран, тогда как большинство остальных процедур только манипулируют структурами данных. Процедура wrefresh копирует указанное окно на экран терминала, принимая во внимание то, что на экран уже выведено, чтобы не выводить информацию повторно (это называется оптимизацией вывода). Процедура refresh делает то же самое для стандартного окна stdscr. Если не установлен режим leaveok, физический курсор терминала помещается на текущее место в окне. Процедура возвращает количество символов, выведенных на терминал.

Отметим, что refresh является макросом.




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