РеГИС
ReGIS , сокращение от Remote Graphic 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 входит указание escape-кода. последовательности 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] is an absolute position at x=200, y=100 [+200,-100] is a relative position at x=current X+200, y=current Y-100 [200] is absolute x=200, y=unchanged (same as [200,+0]) [,-100] is relative, x=unchanged, y=current Y-100
Существует четыре основные команды рисования и три команды управления;
P "Position", move the pen V "Vector", draw a line C "Curve", draw a circle (C) or arc (A) F "Fill", draws a filled polygon T "Text", output the following string of text S "Screen", a catch-all command for setting a wide variety of modes R "Report", outputs current status W "Write", sets the pen parameters L "Load", loads an alternate character set @ "Macrograph", see below
Каждая из этих команд по-разному использует различные режимы координат, а некоторые имеют дополнительные параметры, заключенные в круглые скобки. За командами могут следовать один или несколько параметров, что позволяет продолжить рисование с помощью одной команды. Интерпретатор не чувствителен к регистру.
Некоторые терминалы ReGIS поддерживают цвет, используя ряд регистров. Их можно установить с помощью S
команда, использующая различные стили ввода цвета. s(m3(r100g0b0))
устанавливает регистр цвета («карта») 3 в «r» с использованием цветовой системы RGB, в то время как s(m3(h120l50s100))
делает то же самое, используя систему HLS . W
Команда также устанавливает множество различных стилей, в основном для масок, заливок и кистей.
Наконец, ReGIS позволяет сохранять команды в макрографе , а затем вызывать их с помощью @
оператор. В макросах можно хранить до 10 000 символов кода, каждый из которых имеет однобуквенное имя. Преимущество состоит в том, что серию операций макроса можно вызвать, отправив через последовательный порт только два символа, а не всю последовательность команд.
Образец
[ редактировать ]
<ESC>P0p S(E)(C1) P[100,440] V(B),[+100,+0],[+0,-10],[-100,+0],(E) P[500,300],F(C[+100]) <ESC>\
Этот код входит в режим 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»ill, чтобы обернуть круг «C». Команда fill может заключать в круглые скобки любое количество команд, что позволяет закрашивать сложные фигуры. Это также позволило включить «временную запись», которая позволяла программисту установить стиль заливки внутри заливки и отказаться от нее, как только она закончилась.
См. также
[ редактировать ]Ссылки
[ редактировать ]- «Справочное руководство по программисту VT330/VT340, том 2: Графическое программирование» , цифровой, EK-VT3XX-GP-002, 2-е издание, май 1988 г.
- «Новости DEC ReGIS Graphics» , DEC Professional , август 1990 г., стр. 22