Regis , короткий для удаленного графического Instruction Set , был векторной графики язык разметки , разработанный Digital Equipment Corporation (DEC) для более поздних моделей их известных VT серии из компьютерных терминалов . ReGIS поддерживал элементарную векторную графику, состоящую из линий, дуг окружностей и подобных форм. Терминалы, поддерживающие ReGIS, обычно позволяли смешивать графику и текст на экране, что делало построение графиков и диаграмм относительно простым.
История
ReGIS был впервые представлен на VT125 в июле 1981 года, а вскоре после этого появился VK100 "GIGI", который объединил систему отображения VT125 с композитным видеовыходом и интерпретатором BASIC . Более поздние версии серии VT включали ReGIS, часто также с поддержкой цвета. Это включало VT240 и 241, а также VT330 и 340 . ReGIS также поддерживается небольшим количеством систем эмуляторов терминала .
ReGIS заменил более раннюю систему, известную как графика формы сигнала, которая была представлена в VT55 и позже использовалась в VT105 . DEC обычно обеспечивала обратную совместимость со своими терминалами, но в этом случае система сигналов просто отказалась от использования ReGIS.
Описание
ReGIS состоял из пяти основных команд рисования и набора команд состояния и управления устройством. Режим Regis был введен, указав код побег последовательности ESCP0p, и вышел с ESC\. Последовательность ESCPпредставляет собой стандартную строку управления устройством (DCS), используемую в терминалах серии VT, а также используется для множества других команд. Цифра, следующая за DCS, была необязательной и указывала режим, в данном случае режим 0. Режим 0 был по умолчанию и продолжал рисование с того места, где он остановился, 1 сбрасывает систему на чистый лист, а 2 и 3 совпадают с 0 и 1, но оставил одну строку текста внизу экрана для ввода команд.
Весь рисунок был основан на активном положении пера. Любая команда, перемещавшая перо, оставляла его там для следующей операции, аналогично работе механического плоттера . Система координат была от 0 до 799 по оси X и от 0 до 479 по оси Y, с 0,0 в верхнем левом углу. В ранних реализациях, таких как VK100 и VT125, фактическое разрешение устройства составляло всего 240 пикселей, поэтому координаты Y были «свернуты», поэтому четные и нечетные координаты были в одном месте на экране. Более поздние модели, начиная с VT240 и VT241, обеспечивали полное вертикальное разрешение 480 пикселей. Система координат также может быть установлена пользователем.
Координаты можно было выдвигать или извлекать из стека, и каждая команда позволяла использовать стек в качестве параметра, параметр «b» помещал текущие координаты в стек, «e» снова выталкивал их обратно. Координаты могут быть указаны в абсолютном или относительном выражении;
[200,100] - абсолютная позиция при x = 200, y = 100.[+ 200, -100] - относительная позиция в x = текущий X + 200, y = текущий Y-100[200] является абсолютным x = 200, y = без изменений (то же, что и [200, + 0])[, -100] является относительным, x = без изменений, y = текущий Y-100
Было четыре основных команды рисования и три команды управления;
P "Позиция", переместите пероV "Вектор" нарисуйте линиюC «Кривая», нарисуйте круг (C) или дугу (A)F «Заливка», рисует заполненный многоугольник.T "Text", выведите следующую строку текстаS «Экран», универсальная команда для настройки большого количества режимов.R «Отчет», выводит текущее состояниеW «Написать», устанавливает параметры пера.L "Загрузить", загружает альтернативный набор символов.@ "Макрограф", см. Ниже
Каждая из этих команд использовала различные режимы координат по-разному, а некоторые имели дополнительные параметры, заключенные в круглые скобки. За командами может следовать один или несколько параметров, что позволяет продолжить рисование из одной команды. В переводчике регистр не учитывался.
Некоторые терминалы ReGIS поддерживали цвет, используя серию регистров. Их можно установить с помощью команды S, используя различные стили ввода цвета. s(m3(r100g0b0))
устанавливает регистр цвета («карту») 3 на «r», используя цветовую систему RGB, и s(m3(h120l50s100))
делает то же самое с помощью системы HSV . Команда W также устанавливает множество различных стилей, в основном для маскирования, заливки и кистей.
Наконец, ReGIS позволил сохранять команды в макрос, а затем вызывать их с помощью @
оператора. В макросах можно хранить до 10 000 символов кода, каждый из которых имеет отдельную букву. Преимущество состояло в том, что последовательность операций в макросе могла быть вызвана путем отправки только двух символов через последовательный порт, в отличие от всей последовательности команд.
Образец
P0p S (E) (C1)P [100 440]V (B), [+ 100, + 0], [+ 0, -10], [- 100, + 0], (E)P [500 300], F (C [+100])\
Этот код входит в режим ReGIS и использует команду S для стирания экрана с помощью, (E)
а затем включает видимый курсор с помощью (C1)
. P[100,440]
перемещает перо на 100 440 абсолютных значений. V(B),[+100,+0],[+0,-10],[-100,+0],(E)
рисует серию линий, сначала помещая текущее положение пера в стек с помощью (B)
, затем рисуя три линии с использованием относительных координат, а затем используя, (E)
чтобы извлечь ранее сохраненное местоположение из стека и нарисовать его. В результате получился прямоугольник размером 100 на 10 пикселей.
P[500,300],F(C[+100])
затем перемещается в новое место и с помощью команды «F» оборачивает кружок «C». Команда заполнения может заключать в круглые скобки любое количество команд, позволяя заполнять сложные формы. Это также позволило включить «временную запись», которая позволяла программисту установить стиль заливки внутри заливки и отказаться от нее, как только она закончится.
Смотрите также
Рекомендации
- "Справочное руководство программиста VT330 / VT340, том 2: Программирование графики" , цифровой, EK-VT3XX-GP-002, 2-е издание, май 1988 г.
- "Новости графики DEC ReGIS" , DEC Professional , август 1990 г., стр. 22