diff options
Diffstat (limited to 'doc/rfc/rfc191.txt')
-rw-r--r-- | doc/rfc/rfc191.txt | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/doc/rfc/rfc191.txt b/doc/rfc/rfc191.txt new file mode 100644 index 0000000..515f1e1 --- /dev/null +++ b/doc/rfc/rfc191.txt @@ -0,0 +1,216 @@ + + + + + + +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 + + + + + + + + + + + [Page 1] + +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. + + + + + + [Page 2] + + The display area formatters use format parameters during the + format process and post-processors to convert the vertual + format to one that is acceptable to the device for which the + formatting was being done (a display area on the screen, a + page for a printer, a microfilm device, or a teletype). + + NLS allows the user to specify arguments to commands by + selecting items from the current display image. This is + accomplished through the use of a data structure, which + describes the current display image, to map the cursor + coordinates, which are input with each character, into the + proper selection. + +Multiple text display areas in NLS + +When the user's device is a display, NLS allows him to subdivide +the file-viewing display area (the one in which he views his +file) and view (and edit across) several different files at once. +Following is a discussion of the commands and capabilities +associated with this new feature. + + new commands + + Horizontal split + + splits a file-viewing display area horizontally (into an + upper and lower segment) at the selected location moving + the image of the original display area to the upper or + lower segment depending on whether the cursor is above or + below the bugged position when the final Command Accept is + input. + + No display area will be created which is smaller then 2 + lines by 20 columns (using the character size of the + original display area). + + Vertical split + + splits a file-viewing display area vertically (into a left + and right segment) at the selected location moving the + image of the original display area to the left or right + segment depending on whether the cursor is to the left or + right of the selected position when the final CA is input. + + No display area will he created which is smaller then 2 + lines by 20 columns (using the character size of the + original display area). + + + + [Page 3] + + Move boundary + + The selected boundary is moved to the new position. A + boundary will not be moved passed a boundary of a neighbor. + A boundary is moved for all display areas for which it is a + boundary. Any resulting display area which is smaller than + two lines by twenty columns will be deleted. + + Character size + + The current character size of the display area which + currently contains the cursor is displayed, and the user + may type a number (0, 1, 2, 3) for a new character size. + The final Command Accept causes the character size to be + changed. The horizontal and vertical increment are + automatically adjusted. Different display areas may + simultaneously have different character sizes. + + Clear display area + + The selected display area is cleared, i.e. the image is + erased, the return and file return rings are released, and + the association of a file with that display area is + removed. The display area itself is not deleted. + +One may freely edit and jump using several display areas. The +position of the cursor is used to resolve ambiguities. + + For example, If one executes a Jump command, the position of + the cursor when the final Command Accept is entered determines + in which display area the new image is to appear. + + Also, If one changes viewspecs using the leftmost two buttons + of the mouse, the viewspecs of the display area containing the + cursor when the buttons go down are used as the initial values + and are displayed in the viewspec area. When the buttons are + released, the display area containing the cursor receives the + new viewspecs. + + + [ This RFC was put into machine readable form for entry ] + [ into the online RFC archives by BBN Corp. under the ] + [ direction of Alex McKenzie. 12/96 ] + + + + + + + + [Page 4] + |