Obvious — это объектно-ориентированная библиотека для управления экраном терминала и клавиатурой. Obvious запрограммирован на Perl и использует описания терминалов terminfo.
Obvious->new
Конструктор. Создаёт и возвращает новый объект Obvious.
$self->writeString($string)
Выводит строку $string на экран в текущем положении курсора. Курсор сдвигается к позиции после выведенной строки.
$self->fillCharacter($character, $height, $width)
Заполняет на экране прямоугольную область высотой $height и шириной $width символом $character. Левый верхний угол прямоугольника находится в текущем положении курсора. Курсор сдвигается в положение после правого нижнего угла прямоугольника.
$self->drawHLine($character, $n)
Заполняет горизонтальную линию длиной $n символом $character. Курсор перемещается в положение после выведенной линии.
$self->drawVLine($character, $n)
Заполняет вертикальную линию длиной $n символом $character. Курсор перемещается в положение после выведенной линии.
$self->moveCursor($row, $column)
Перемещает курсор в заданную позицию экрана. Номер строки равен $row, номер столбца равен $column.
$self->homeCursor
Перемещает курсор в левый верхний угол экрана.
$self->shiftCursor($direction, $n)
Сдвигает курсор в заданном направлении $direction на $n позиций.
Для направлений можно использовать константы DIR_RIGHT (вправо), DIR_UP (вверх), DIR_LEFT (влево), DIR_DOWN (вниз).
$self->locateCursor
Возвращает текущее положение курсора в двухэлементном массиве.
$self->saveCursor
Запоминает текущее положение курсора.
$self->restoreCursor
Восстанавливает текущее положение курсора.
$self->setCursor($visibility)
Изменяет видимость курсора в соответствии со значением $visibility.
Для параметра $visibility можно использовать константы CURSOR_INVISIBLE (невидимый), CURSOR_NORMAL (нормальный), CURSOR_VERY_VISIBLE (очень видимый).
$self->setColor($foreground, $background)
Делает текущими цвета переднего плана $foreground и фона $background.
$self->setForeground($foreground)
Делает текущим цвет переднего плана $foreground.
$self->setBackground($background)
Делает текущим цвет фона $background.
$self->setAttribute($attribute)
Делает текущим атрибут $attribute выводимого текста.
Для атрибутов используются константы ATTR_STANDOUT (выделение), ATTR_UNDERLINE (подчёркивание), ATTR_REVERSE (инверсия), ATTR_BLINK (мерцание), ATTR_DIM (невидимость), ATTR_BOLD (жирный шрифт), ATTR_PROTECT (защита), ATTR_ALTCHARSET (альтернативный символьный набор).
Атрибуты можно комбинировать с помощью операции побитового «или»: чтобы включить выделенное подчёркивание, следует выбрать значение атрибута ATTR_STANDOUT|ATTR_UNDERLINE.
$self->bell
Делает гудок.
$self->flash
Делает вспышку.
$self->delay($seconds)
Останавливает выполнение программы на заданное количество секунд $seconds, не обязательно целое.