ReGIS , abreviatura de Remote Graphic Instruction Set , era un lenguaje de marcado de gráficos vectoriales desarrollado por Digital Equipment Corporation (DEC) para modelos posteriores de su famosa serie VT de terminales de computadora . ReGIS soportó gráficos vectoriales rudimentarios que consistían en líneas, arcos circulares y formas similares. Los terminales compatibles con ReGIS generalmente permitían que los gráficos y el texto se mezclaran en la pantalla, lo que hacía que la construcción de gráficos y tablas fuera relativamente fácil.
Historia
ReGIS se introdujo por primera vez en el VT125 en julio de 1981, seguido poco después por el VK100 "GIGI", que combinó el sistema de visualización VT125 con salida de video compuesto y un intérprete BASIC . Las versiones posteriores de la serie VT incluían ReGIS, a menudo también con soporte de color. Esto incluyó el VT240 y 241 y el VT330 y 340 . ReGIS también es compatible con una pequeña cantidad de sistemas emuladores de terminal .
ReGIS reemplazó un sistema anterior conocido como gráficos de forma de onda que se había introducido en el VT55 y luego se usó en el VT105 . DEC normalmente proporcionaba compatibilidad con versiones anteriores de sus terminales, pero en este caso, el sistema de forma de onda simplemente se eliminó cuando se introdujo ReGIS.
Descripción
ReGIS constaba de cinco comandos de dibujo principales y una selección de comandos de control de dispositivo y estado. Se ingresó al modo ReGIS especificando la secuencia del código de escapeESCP0p y se salió con ESC\. La secuencia ESCPes la Cadena de control de dispositivo (DCS) genérica que se utiliza en la serie de terminales VT y también se utiliza para una variedad de otros comandos. El dígito que sigue al DCS era opcional y especificaba un modo, en este caso el modo 0. El modo 0 era el predeterminado y retomó el dibujo donde lo dejó, 1 restableció el sistema a una pizarra en blanco y 2 y 3 eran lo mismo que 0 y 1, pero dejó una sola línea de texto en la parte inferior de la pantalla para ingresar comandos.
Todo el dibujo se basó en una ubicación de lápiz activa. Cualquier comando que moviera el lápiz lo dejaba allí para la siguiente operación, similar a la operación de un trazador mecánico . El sistema de coordenadas era de 0 a 799 en el eje X y de 0 a 479 en Y, con 0,0 en la parte superior izquierda. En las primeras implementaciones, como el VK100 y el VT125, la resolución real del dispositivo era de solo 240 píxeles, por lo que las coordenadas Y estaban "dobladas" de modo que las coordenadas pares e impares estaban en la misma ubicación en la pantalla. Los modelos posteriores, comenzando con el VT240 y VT241, proporcionaron la resolución vertical completa de 480 píxeles. El usuario también puede configurar el sistema de coordenadas.
Las coordenadas se podían empujar o sacar de una pila, y cada comando permitía que la pila se usara como parámetro, el parámetro "b" empujaba las coordenadas actuales en la pila, "e" las sacaba de nuevo. Las coordenadas pueden especificarse en términos absolutos o relativos;
[200,100] es una posición absoluta en x = 200, y = 100[+ 200, -100] es una posición relativa en x = actual X + 200, y = actual Y-100[200] es absoluto x = 200, y = sin cambios (igual que [200, + 0])[, -100] es relativo, x = sin cambios, y = actual Y-100
Había cuatro comandos de dibujo principales y tres comandos de control;
P "Posición", mueve el bolígrafoV "Vector", dibuja una líneaC "Curva", dibuja un círculo (C) o un arco (A)F "Rellenar", dibuja un polígono rellenoT "Texto", genera la siguiente cadena de textoS "Pantalla", un comando general para configurar una amplia variedad de modosR "Informe", muestra el estado actualW "Escribir", establece los parámetros del lápiz.L "Cargar", carga un juego de caracteres alternativo@ "Macrografía", ver más abajo
Cada uno de estos comandos usaba los distintos modos de coordenadas de diferentes maneras, y algunos tenían parámetros adicionales que estaban entre paréntesis. Los comandos pueden ir seguidos de uno o más parámetros, lo que permite seguir dibujando desde un solo comando. El intérprete no distingue entre mayúsculas y minúsculas.
Algunos terminales ReGIS admitían color, utilizando una serie de registros. Estos se pueden configurar con el comando S utilizando una variedad de estilos de entrada de color. s(m3(r100g0b0))
establece el registro de color ("mapa") 3 en "r" ed usando el sistema de color RGB, mientras que s(m3(h120l50s100))
hace lo mismo usando el sistema HSV . El comando W también establece una amplia variedad de estilos diferentes, principalmente para enmascaramiento, rellenos y pinceles.
Finalmente, ReGIS permitió que los comandos se almacenaran en una macrografía y luego se recuperaran usando el @
operador. Se pueden almacenar hasta 10,000 caracteres de código en las macros, cada uno nombrado con una sola letra. La ventaja era que la serie de operaciones de la macro podía invocarse enviando solo dos caracteres a través del puerto serie, a diferencia de la secuencia completa de comandos.
Muestra
P0p S (E) (C1)P [100,440]V (B), [+ 100, + 0], [+ 0, -10], [- 100, + 0], (E)P [500,300], F (C [+100])\
Este código ingresa al modo ReGIS y usa el comando S para borrar la pantalla con (E)
y luego enciende el cursor visible con (C1)
. P[100,440]
mueve la pluma a 100,440 absolutos. V(B),[+100,+0],[+0,-10],[-100,+0],(E)
dibuja una serie de líneas, primero empujando la ubicación actual de la pluma en la pila con (B)
, luego dibujando tres líneas usando coordenadas relativas, y luego usando (E)
para sacar la ubicación guardada previamente de la pila y dibujarla. El resultado es un rectángulo de 100 por 10 píxeles de tamaño.
P[500,300],F(C[+100])
luego se mueve a una nueva ubicación y usa el comando "F" para envolver un círculo "C". El comando de relleno puede envolver cualquier número de comandos entre paréntesis, lo que le permite rellenar formas complejas. También permitió la inclusión de una "escritura temporal" que permitió al programador establecer el estilo de relleno dentro del relleno y abandonarlo tan pronto como terminara.
Ver también
Referencias
- "VT330 / VT340 Programmer Reference Manual, Volume 2: Graphics Programming" , Digital, EK-VT3XX-GP-002, 2ª edición, mayo de 1988
- "DEC ReGIS Graphics News" , DEC Professional , agosto de 1990, pág. 22