RFC 191 Charles Irby
NIC 7136 Augmentation Research Center
Category D.6, I.1 Stanford Research Institute
13-JUL-71
GRAPHICS IMPLEMENTATION AND CONCEPTUALIZATION AT ARC
Overview:
This document is a brief description of the way in which graphics
terminals are conceptualized and used at the Augmentation
Research Center. All things described are implemented and have
been operational for several months. Although our attention has
initially been centered about the display of textual material, we
are now about to turn our attention toward pictorial displays
(hopefully much enhanced over our previous 940 line drawing
capabilities).
This document will discuss only those facits of display use
which have been implemented and are currently operational,
namely only those dealing with textual display.
included is a discussion of the use of multiple file viewing
display areas in NLS to provide cross file editing capabilities.
A description of our display and terminal input equipment will
be issued as a separate document.
NOTE:
RFC 190 includes a functional description of the
implementation of the interface to our displays and is a
description of the way this interface was extended to include
"Processor-displays" (an IMLAC PDS-1, in this case) to our
system, thus enabling one to use Display NLS over any of our
teletype lines (including the network).
A "processor dsplay" is a display with Processing power which
can be controlled by character strings.
Description of the "conceptual display" implemented at ARC
The allocatable output unit for our display terminals (which
include our local terminals and all remote processor-displays) is
a rectangular "display area". A program treats this display area
much like it would a file which it has opened with write access.
When requesting the allocation of a display area, a program
specifies its attributes, including where it is to be on the
screen. The program is returned an identifier which it
subsequently uses to manipulate images within the display area
and the display area itself. Each string which the program
writes into the display area is also given an identifier, which
can subsequently be used to move, delete, replace, or change the
characteristics of that string.
The currently implemented characteristics are character size,
horizontal spacing between characters, and font of the
characters (e.g. blinking, italics, intensity, etc.).
The position of items in the display area are given relative
to the 0,0, which is the lower left corner of the display
area. The horizontal coordinate increases to the right and the
vertical coordinate increases toward the top.
In addition to above described manipulation of strings within
display areas a program can suppress the display of individual
strings within display areas or suppress whole display areas.
Also, a program can switch the terminal's state from teletype
simulation to display mode and vis versa.
When in display mode, the teletype simulation display area is
suppressed and the coordinates of the cursor are input with
each character. When in teletype simulation mode, all user
owned display areas are suppressed and the coordinates of the
cursor are not input with each character.
At TENEX startup time, display areas are allocated for a teletype
simulation and a cursor for each local display terminal. Programs
can change the string being displayed as the cursor to give the
human feedback as to the programs state.
Within NLS:
The NLS subsystem deals only with the cursor and the display
areas it has requested from the system for output to the user.
The display area formatters assumes that the display has 64K
by 64K addressable points (with 0,0 at upper left), several
different character sizes and fonts, and 7-bit ASCII.