|
LXVII. Функции управления экраном терминала Ncurses
Предупреждение!
|
Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, имена его функций и всё, что задокументировано, может измениться в последующих релизах РНР без предупреждения. Вы предупреждены и можете использовать это расширение только под вашу ответственность.
|
ncurses (new curses/новые курсы) это свободная программная эмуляция курсов
в System V Rel 4.0 (и выше). Она использует формат terminfo, поддерживает заполнения, цвета, множественную подсветку/highlights, отображение символов формы и ключей функций.
Ncurses имеется для следующих платформ:
-
AIX
-
BeOS
-
Cygwin
-
Digital Unix (aka OSF1)
-
FreeBSD
-
GNU/Linux
-
HPUX
-
IRIX
-
OS/2
-
SCO OpenServer
-
Solaris
-
SunOS
Вам необходимы библиотеки и header-файлы ncurses. Загрузите последнюю версию с
ftp://ftp.gnu.org/pub/gnu/ncurses/ или с другого зеркала GNU.
Чтобы эти функции работали, вы должны скомпилировали CGI-версию PHP с
опцией --with-ncurses.
При ошибке ncurses-функции возвращают NCURSES_ERR.
Таблица 1. Константы цветов ncurses
константа |
значение |
NCURSES_COLOR_BLACK |
нет цвета (чёрный) |
NCURSES_COLOR_WHITE |
белый |
NCURSES_COLOR_RED |
красный - поддерживается, если терминал находится в режиме color |
NCURSES_COLOR_GREEN |
зелёный - поддерживается, если терминал находится в режиме color |
NCURSES_COLOR_YELLOW |
жёлтый - поддерживается, если терминал находится в режиме color |
NCURSES_COLOR_BLUE |
синий - поддерживается, если терминал находится в режиме color |
NCURSES_COLOR_CYAN |
cyan - поддерживается, если терминал находится в режиме color |
NCURSES_COLOR_MAGENTA |
magenta - поддерживается, если терминал находится в режиме color |
Таблица 2. Константы клавиш ncurses
константа |
значение |
NCURSES_KEY_F0 - NCURSES_KEY_F64 |
функциональные клавиши F1 - F64 |
NCURSES_KEY_DOWN |
стрелка вниз |
NCURSES_KEY_UP |
стрелка вверх |
NCURSES_KEY_LEFT |
стрелка влево |
NCURSES_KEY_RIGHT |
стрелка вправо |
NCURSES_KEY_HOME |
клавиша home (upward+left arrow) |
NCURSES_KEY_BACKSPACE |
backspace |
NCURSES_KEY_DL |
удалить строку |
NCURSES_KEY_IL |
вставить строку |
NCURSES_KEY_DC |
удалить символ |
NCURSES_KEY_IC |
вставить символ или войти в режим insert/вставки |
NCURSES_KEY_EIC |
выйти из режима вставки символов |
NCURSES_KEY_CLEAR |
очистить экран |
NCURSES_KEY_EOS |
очистить до конца экрана |
NCURSES_KEY_EOL |
очистить до конца строки |
NCURSES_KEY_SF |
прокрутить вперёд на одну строку |
NCURSES_KEY_SR |
прокрутить назад на одну строку |
NCURSES_KEY_NPAGE |
следующая страница |
NCURSES_KEY_PPAGE |
предыдущая страница |
NCURSES_KEY_STAB |
установить tab/табуляцию |
NCURSES_KEY_CTAB |
очистить tab |
NCURSES_KEY_CATAB |
очистить все tabs |
NCURSES_KEY_SRESET |
мягкий (частичный) reset |
NCURSES_KEY_RESET |
reset (или жёсткий reset) |
NCURSES_KEY_PRINT |
print |
NCURSES_KEY_LL |
lower left/самая нижняя левая |
NCURSES_KEY_A1 |
upper left цифрового блока |
NCURSES_KEY_A3 |
upper right цифрового блока |
NCURSES_KEY_B2 |
center цифрового блока |
NCURSES_KEY_C1 |
lower left цифрового блока |
NCURSES_KEY_C3 |
lower right цифрового блока |
NCURSES_KEY_BTAB |
back tab |
NCURSES_KEY_BEG |
начало |
NCURSES_KEY_CANCEL |
cancel |
NCURSES_KEY_CLOSE |
close |
NCURSES_KEY_COMMAND |
cmd (command/команда) |
NCURSES_KEY_COPY |
copy |
NCURSES_KEY_CREATE |
create |
NCURSES_KEY_END |
end |
NCURSES_KEY_EXIT |
exit |
NCURSES_KEY_FIND |
find |
NCURSES_KEY_HELP |
help |
NCURSES_KEY_MARK |
mark |
NCURSES_KEY_MESSAGE |
message |
NCURSES_KEY_MOVE |
move |
NCURSES_KEY_NEXT |
next |
NCURSES_KEY_OPEN |
open |
NCURSES_KEY_OPTIONS |
опции |
NCURSES_KEY_PREVIOUS |
previous |
NCURSES_KEY_REDO |
redo |
NCURSES_KEY_REFERENCE |
ref (reference) |
NCURSES_KEY_REFRESH |
refresh |
NCURSES_KEY_REPLACE |
replace |
NCURSES_KEY_RESTART |
restart |
NCURSES_KEY_RESUME |
resume |
NCURSES_KEY_SAVE |
save |
NCURSES_KEY_SBEG |
shiftet beg (beginning) |
NCURSES_KEY_SCANCEL |
shifted cancel |
NCURSES_KEY_SCOMMAND |
shifted command |
NCURSES_KEY_SCOPY |
shifted copy |
NCURSES_KEY_SCREATE |
shifted create |
NCURSES_KEY_SDC |
shifted delete char |
NCURSES_KEY_SDL |
shifted delete line |
NCURSES_KEY_SELECT |
select |
NCURSES_KEY_SEND |
shifted end |
NCURSES_KEY_SEOL |
shifted end of line |
NCURSES_KEY_SEXIT |
shifted exit |
NCURSES_KEY_SFIND |
shifted find |
NCURSES_KEY_SHELP |
shifted help |
NCURSES_KEY_SHOME |
shifted home |
NCURSES_KEY_SIC |
shifted input |
NCURSES_KEY_SLEFT |
shifted left arrow |
NCURSES_KEY_SMESSAGE |
shifted message |
NCURSES_KEY_SMOVE |
shifted move |
NCURSES_KEY_SNEXT |
shifted next |
NCURSES_KEY_SOPTIONS |
shifted options |
NCURSES_KEY_SPREVIOUS |
shifted previous |
NCURSES_KEY_SPRINT |
shifted print |
NCURSES_KEY_SREDO |
shifted redo |
NCURSES_KEY_SREPLACE |
shifted replace |
NCURSES_KEY_SRIGHT |
shifted right arrow |
NCURSES_KEY_SRSUME |
shifted resume |
NCURSES_KEY_SSAVE |
shifted save |
NCURSES_KEY_SSUSPEND |
shifted suspend |
NCURSES_KEY_UNDO |
undo |
NCURSES_KEY_MOUSE |
mouse event has occured |
NCURSES_KEY_MAX |
maximum key value |
Таблица 3. mouse-константы
константа |
значение |
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED |
кнопка (1-4) отпущена |
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED |
кнопка (1-4) нажата |
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED |
кнопка (1-4) щёлкнула |
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED |
кнопка (1-4) дважды щёлкнула |
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED |
кнопка (1-4) трижды щёлкнула |
NCURSES_BUTTON_CTRL |
ctrl нажата при щелчке |
NCURSES_BUTTON_SHIFT |
shift нажата при щелчке |
NCURSES_BUTTON_ALT |
alt нажата при щелчке |
NCURSES_ALL_MOUSE_EVENTS |
сообщает обо всех событиях мыши |
NCURSES_REPORT_MOUSE_POSITION |
сообщает о позиции мыши |
-
Содержание
-
ncurses_addch - добавляет символ в текущей позиции и продвигает курсор вперёд
-
ncurses_addchnstr - добавляет атрибуированную строку со специфицированной длиной в текущей позиции
-
ncurses_addchstr - добавляет атрибуированную строку в текущей позиции
-
ncurses_addnstr - добавляет строку со специфицированной длиной в текущей позиции
-
ncurses_addstr - выводит текст в текущей позиции
-
ncurses_assume_default_colors - определяет цвет по умолчанию для цвета 0
-
ncurses_attroff - отключает данный атрибут
-
ncurses_attron - включает данный атрибут
-
ncurses_attrset - устанавливает данные атрибуты
-
ncurses_baudrate - возвращает baudrate терминала
-
ncurses_beep - разрешает терминалу подать сигнал
-
ncurses_bkgd - устанавливает свойство background экрана терминала
-
ncurses_bkgdset - управляет фоном экрана
-
ncurses_border - рисует рамку вокруг экрана с использованием атрибуированных символов
-
ncurses_can_change_color - проверяет, можем ли мы изменить цвета терминала
-
ncurses_cbreak - отключает буферизацию ввода
-
ncurses_clear - очищает экран
-
ncurses_clrtobot - очищает экран от текущей позиции до низа
-
ncurses_clrtoeol - очищает экран от текущей позиции до конца строчки
-
ncurses_color_set - устанавливает цвета переднего плана и фона
-
ncurses_curs_set - устанавливает статус курсора
-
ncurses_def_prog_mode - сохраняет режим терминала (программы)
-
ncurses_def_shell_mode - сохраняет режим терминала (оболочки/shell)
-
ncurses_define_key - определяет keycode/код клавиши
-
ncurses_delay_output - задерживает вывод на терминал, используя заполняющие символы
-
ncurses_delch - удаляет символ в текущей позиции, остаток строки сдвигается влево
-
ncurses_deleteln - удаляет строчку в текущей позиции, остаток экрана сдвигается вверх
-
ncurses_delwin - удаляет ncurses-окно
-
ncurses_doupdate - записывает все подготовленные обновления в терминал
-
ncurses_echo - активирует отображение ввода с клавиатуры
-
ncurses_echochar - вывод одного символа, включая обновление
-
ncurses_end - останавливает использование ncurses, очищает экран
-
ncurses_erase - стирает экран терминала
-
ncurses_erasechar - возвращает текущий удалённый символ
-
ncurses_filter -
-
ncurses_flash - вспышка на экране терминала (визуальный сигнал)
-
ncurses_flushinp - очищает буфер клавиатурного ввода
-
ncurses_getch - читает символ с клавиатуры
-
ncurses_getmouse - читает событие от мыши
-
ncurses_halfdelay - переводит терминал в режим halfdelay
-
ncurses_has_colors - проверяет, имеет ли терминал цвета
-
ncurses_has_ic - проверяет возможность вставки/удаления
-
ncurses_has_il - проверяет возможность вставки/удаления
-
ncurses_has_key - проверяет существование функциональной клавиши на клавиатуре терминала
-
ncurses_hline - рисует горизонтальную линию в текущей позиции, используя атрибуированный символ и max. n длину символов
-
ncurses_inch - получает символ и атрибут в текущей позиции
-
ncurses_init_color - устанавливает новое RGB-значение цвета
-
ncurses_init_pair - размещает цветовую пару
-
ncurses_init - инициализирует ncurses
-
ncurses_insch - вставляет символ, перемещая остаток строки, включая символ в текущей позиции
-
ncurses_insdelln - вставляет строчки перед текущей строчкой, прокручивая вниз (отрицательные числа удаляют и прокручивают вверх)
-
ncurses_insertln - вставляет строчку, перемещая остаток экрана вниз
-
ncurses_insstr - вставляет string в текущей позиции, перемещая остаток строчки вправо
-
ncurses_instr - читает строчку с экрана терминала
-
ncurses_isendwin - Ncurses находится в режиме endwin, может выполняться нормальный вывод экрана
-
ncurses_keyok - включает или отключает keycode/код клавиши
-
ncurses_killchar - возвращает kill-символ текущей строки
-
ncurses_longname - возвращает описание терминала
-
ncurses_mouseinterval - устанавливает timeout для щелчка кнопки мыши
-
ncurses_mousemask - устанавливает опции мыши
-
ncurses_move - переводит позицию вывода
-
ncurses_mvaddch - переводит текущую позицию и добавляет символ
-
ncurses_mvaddchnstr - переводит позицию и
добавляет атрибуированную строку специфицированной длины
-
ncurses_mvaddchstr - переводит позицию и добавляет атрибуированную строку
-
ncurses_mvaddnstr - переводит позицию и добавляет строку со специфицированной длиной
-
ncurses_mvaddstr - переводит позицию и добавляет строку
-
ncurses_mvcur - переводит курсор немедленно
-
ncurses_mvdelch - переводит позицию и удаляет символ, сдвигая остаток строчки влево
-
ncurses_mvgetch - переводит позицию и получает символ в новой позиции
-
ncurses_mvhline - устанавливает новую позицию рисует горизонтальную линию, используя трибуированный символ и max. n длину символов
-
ncurses_mvinch - переводит позицию и получает атрибуированный символ в новой позиции
-
ncurses_mvvline - устанавливает новую позицию и рисует вертикальную линию, используя атрибуированный символ и max. n длину символов
-
ncurses_mvwaddstr - добавляет строку в новой позиции в окне
-
ncurses_napms - Sleep
-
ncurses_newwin - создаёт новое окно
-
ncurses_nl - транслирует newline и carriage return / line feed
-
ncurses_nocbreak - переключает терминал в режим cooked
-
ncurses_noecho - отключает отображение ввода с клавиатуры
-
ncurses_nonl - не транслировать newline и carriage return / line feed
-
ncurses_noqiflush - не зачищает сигнальные символы
-
ncurses_noraw - отключает терминал от режима raw
-
ncurses_putp -
-
ncurses_qiflush - зачищает сигнальные символы
-
ncurses_raw - переключает терминал в режим raw
-
ncurses_refresh - обновляет экран
-
ncurses_resetty - восстанавливает сохранённый статус терминала
-
ncurses_savetty - сохраняет статус терминала
-
ncurses_scr_dump - выполняет дамп содержимого экрана в файл
-
ncurses_scr_init - инициализирует экран из дампа файла
-
ncurses_scr_restore - восстанавливает экран из дампа файла
-
ncurses_scr_set - наследует экран из дампа файла
-
ncurses_scrl - прокручивает содержимое окна верх или вниз без изменения текущей позиции
-
ncurses_slk_attr - возвращает ключевой атрибут текущей soft-метки/label
-
ncurses_slk_attroff -
-
ncurses_slk_attron -
-
ncurses_slk_attrset -
-
ncurses_slk_clear - очищает soft-метки с экрана
-
ncurses_slk_color - устанавливает цвет для ключей soft-меток
-
ncurses_slk_init - инициализирует soft label key-функции
-
ncurses_slk_noutrefresh - копирует soft label ключи в виртуальный экран
-
ncurses_slk_refresh - копирует soft label ключи в экран
-
ncurses_slk_restore - восстанавливает soft label keys
-
ncurses_slk_touch - форсирует вывод при выполнении ncurses_slk_noutrefresh
-
ncurses_standend - останавливает использование атрибута 'standout'
-
ncurses_standout - стартует использование атрибута 'standout'
-
ncurses_start_color - стартует использование цветов
-
ncurses_termattrs - возвращает логическое ИЛИ всех флагов атрибутов, поддерживаемых терминалом
-
ncurses_termname - возвращает (short)-имя терминала
-
ncurses_timeout - устанавливает timeout для специальных последовательностей клавиш
-
ncurses_typeahead - специфицирует другой filedescriptor для проверки typeahead
-
ncurses_ungetch - помещает символ обратно в поток ввода
-
ncurses_ungetmouse - проталкивает событие от мыши в очередь/queue
-
ncurses_use_default_colors - присваивает цвета по умолчанию color id -1
-
ncurses_use_env - управляет использованием информации окружения о размере терминала
-
ncurses_use_extended_names - управляет использованием расширенных имён в описаниях terminfo
-
ncurses_vidattr -
-
ncurses_vline - рисует вертикальную линию в текущей позиции, используя атрибуированный символ и max. n длину символов
-
ncurses_wrefresh - обновляет окно экрана терминала
|
|