Remote Imaging Protocol и связанный с ним язык сценариев Remote Imaging Protocol , RIP scrip , — это графический язык , который обеспечивает систему для отправки векторной графики по каналам с низкой пропускной способностью, в частности, модемам . Первоначально он был создан Джеффом Ридером, Джимом Бергманом и Марком Хейтоном из TeleGrafix Communications в Хантингтон-Бич, Калифорния, для улучшения систем досок объявлений и других приложений.
RIPscrip был представлен в 1992 году и состоял из текстовых описаний векторной графики и изображений в формате ASCII , а также средств для создания меню и кнопок с возможностью нажатия. Они отправлялись с BBS вместо более распространенных цветных экранов текстового режима ANSI и интерпретировались на стороне пользователя программой терминала с поддержкой RIP, такой как RIPTerm от TeleGrafix . Строки текста отображались на одном дисплее, графика — на другом. RIPscrip не мог использоваться в качестве основы для полноценного GUI , поскольку не включал в себя систему редактирования текста.
RIPscript 1.5x был текстовой оболочкой вокруг Borland Graphics Interface (BGI) [ оригинальное исследование? ] . Все примитивы рисования полагались на BGI, шрифты были ограничены теми, которые предоставлялись BGI (*.CHR). Формат файла значка RIPscrip (.ICN) был таким же, как у функций BGI getImage() и putImage(). Многие [1] считали, что включение функции заливки BGI было ошибкой, поскольку сторонние реализации протокола RIPscrip часто не могли [ требуется ссылка ] реализовать кривые Безье так же, как это делал Telegrafix, что приводило к тому, что заливка вытекала из предполагаемого объекта и заполняла весь экран. Telegrafix никогда не публиковал свой алгоритм Безье или полную спецификацию RIPscrip, тем самым вынуждая [ оригинальное исследование? ] разработчиков, желающих реализовать RIPscrip, приобретать дорогой [ по чьему мнению? ] комплект разработчика Telegrafix, содержащий предварительно скомпилированные библиотеки DLL-оболочки BGI [ оригинальное исследование? ] .
Ранние версии RIPscrip были тесно привязаны к стандарту EGA 640×350 EGA и имели определенно MS-DOS -подобный вид. Более поздние версии обеспечивали независимость от разрешения (в некоторой степени), расширенные цветовые палитры и возможность работать через telnet для доступа в Интернет. [ необходима цитата ] К этому времени публичный доступ к Всемирной паутине привел к быстрому снижению интереса к системам досок объявлений , что в конечном итоге привело к концу разработки RIPscrip и компании. Хотя была выпущена RIPscrip 2.0 и планировалась 3.0, [2] наиболее распространенной версией RIPscrip в реальном использовании была серия 1.5x.
Стандарты векторных изображений, которые сегодня присутствуют во Всемирной паутине и имеют некоторое сходство, включают Adobe Flash и SVG .
RIPscrip — это простой язык описания страниц , схожий по концепции с PostScript или HPGL . Графический вывод описывается серией текстовых инструкций, которые были значительно оптимизированы в RIPscrip, чтобы быть максимально короткими для экономии времени передачи.: [3]
Терминал, поддерживающий RIPscrip, отслеживает строки, начинающиеся со специального экранирующего символа RIPscrip , и интерпретирует следующие инструкции, передавая неэкранированные строки на экран вывода текста. RIPscrip использовал отдельные текстовые и графические дисплеи, по одному на каждый, и хотя он мог рисовать текст на графическом экране, скорость этого была такова, что это было бесполезно для общего текстового вывода или редактирования. Как правило, система, использующая RIPscrip, использовала бы графический экран для представления меню, а обычное редактирование и ввод происходили бы на текстовом экране. RIPscrip обычно не использовался бы для создания обычного графического пользовательского интерфейса с несколькими окнами или редактирования текста с помощью мыши, например.
Символом escape в RIPscrip был восклицательный знак, !
. Перед командами RIPscrip всегда стояла вертикальная черта, |
, за которой следовала однобуквенная команда. В более поздних версиях между вертикальной чертой и командной буквой опционально вставлялись цифры, указывающие, какая версия RIPscrip необходима для интерпретации этой команды, что позволяло старым терминалам быстро отфильтровывать неподдерживаемые функции. Распространенной командой, которую можно найти в файле RIPscrip, была бы установка размера и положения окна вывода текста, обычно что-то вроде !|w00001B0M10
, с командой "w" для "window", за которой следовала бы серия чисел, указывающих его местоположение и размер.
Команды RIPscrip могут быть сложены вместе на одной строке для компактности. Например, !|v00001B0M10|E|c02|Thello world
устанавливает стандартное окно вывода графического окна просмотра с помощью v
, стирает любое существующее изображение с помощью E
(излишне, так как окно было только что сброшено), устанавливает цвет на зеленый с помощью c
, а затем рисует текст с помощью T
. Более сложные рисунки обычно строятся из серии сложенных команд, каждая из которых представляет некоторую часть общего рисунка, который должен быть создан, разбивая его на логические группы.
В дополнение к базовой графике, такой как линии и окружности, RIPscrip также включал команды для интерактивных объектов, в частности кнопок. U
Команда рисовала кнопку на дисплее в указанном месте с дополнительным значком, горячей клавишей и меткой. Когда кнопка нажималась мышью или горячей клавишей, последний параметр, строка команды хоста , отправлялся обратно на сервер. Таким образом, автор RIPscrip мог создавать графические меню для команд в системе, возможно, такое, которое перечисляло бы все доступные форумы, отправляя текст «FPA» для «forums, public, all». Эти строки были бы разными для каждого программного обеспечения хоста, а также, как правило, несколько отличались бы от системы к системе.