home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 100s / rfc191.txt < prev    next >
Text File  |  1997-03-12  |  8KB  |  217 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. RFC 191                                             Charles Irby
  8. NIC 7136                            Augmentation Research Center
  9. Category D.6, I.1                    Stanford Research Institute
  10.                                                        13-JUL-71
  11.  
  12.           GRAPHICS IMPLEMENTATION AND CONCEPTUALIZATION AT ARC
  13.  
  14. Overview:
  15.  
  16. This document is a brief description of the way in which graphics
  17. terminals are conceptualized and used at the Augmentation
  18. Research Center. All things described are implemented and have
  19. been operational for several months. Although our attention has
  20. initially been centered about the display of textual material, we
  21. are now about to turn our attention toward pictorial displays
  22. (hopefully much enhanced over our previous 940 line drawing
  23. capabilities).
  24.  
  25.    This document will discuss only those facits of display use
  26.    which have been implemented and are currently operational,
  27.    namely only those dealing with textual display.
  28.  
  29. included is a discussion of the use of multiple file viewing
  30. display areas in NLS to provide cross file editing capabilities.
  31. A description of our display and terminal input equipment will
  32. be issued as a separate document.
  33.  
  34. NOTE: RFC 190 includes a functional description of the
  35. implementation of the interface to our displays and is a
  36. description of the way this interface was extended to include
  37. "Processor-displays" (an IMLAC PDS-1, in this case) to our
  38. system, thus enabling one to use Display NLS over any of our
  39. teletype lines (including the network).
  40.  
  41.    A "processor dsplay" is a display with Processing power which
  42.    can be controlled by character strings.
  43.  
  44. Description of the "conceptual display" implemented at ARC
  45.  
  46. The allocatable output unit for our display terminals (which
  47. include our local terminals and all remote processor-displays) is
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                                                                 [Page 1]
  59.  
  60. a rectangular "display area". A program treats this display area
  61. much like it would a file which it has opened with write access.
  62.  
  63. When requesting the allocation of a display area, a program
  64. specifies its attributes, including where it is to be on the
  65. screen. The program is returned an identifier which it
  66. subsequently uses to manipulate images within the display area
  67. and the display area itself. Each string which the program
  68. writes into the display area is also given an identifier, which
  69. can subsequently be used to move, delete, replace, or change the
  70. characteristics of that string.
  71.  
  72.    The currently implemented characteristics are character size,
  73.    horizontal spacing between characters, and font of the
  74.    characters (e.g. blinking, italics, intensity, etc.).
  75.  
  76.    The position of items in the display area are given relative
  77.    to the 0,0, which is the lower left corner of the display
  78.    area.  The horizontal coordinate increases to the right and the
  79.    vertical coordinate increases toward the top.
  80.  
  81. In addition to above described manipulation of strings within
  82. display areas a program can suppress the display of individual
  83. strings within display areas or suppress whole display areas.
  84.  
  85. Also, a program can switch the terminal's state from teletype
  86. simulation to display mode and vis versa.
  87.  
  88.    When in display mode, the teletype simulation display area is
  89.    suppressed and the coordinates of the cursor are input with
  90.    each character. When in teletype simulation mode, all user
  91.    owned display areas are suppressed and the coordinates of the
  92.    cursor are not input with each character.
  93.  
  94. At TENEX startup time, display areas are allocated for a teletype
  95. simulation and a cursor for each local display terminal. Programs
  96. can change the string being displayed as the cursor to give the
  97. human feedback as to the programs state.
  98.  
  99. Within NLS:
  100.  
  101.    The NLS subsystem deals only with the cursor and the display
  102.    areas it has requested from the system for output to the user.
  103.    The display area formatters assumes that the display has 64K
  104.    by 64K addressable points (with 0,0 at upper left), several
  105.    different character sizes and fonts, and 7-bit ASCII.
  106.  
  107.  
  108.  
  109.  
  110.  
  111.                                                                 [Page 2]
  112.  
  113.    The display area formatters use format parameters during the
  114.    format process and post-processors to convert the vertual
  115.    format to one that is acceptable to the device for which the
  116.    formatting was being done (a display area on the screen, a
  117.    page for a printer, a microfilm device, or a teletype).
  118.  
  119.    NLS allows the user to specify arguments to commands by
  120.    selecting items from the current display image. This is
  121.    accomplished through the use of a data structure, which
  122.    describes the current display image, to map the cursor
  123.    coordinates, which are input with each character, into the
  124.    proper selection.
  125.  
  126. Multiple text display areas in NLS
  127.  
  128. When the user's device is a display, NLS allows him to subdivide
  129. the file-viewing display area (the one in which he views his
  130. file) and view (and edit across) several different files at once.
  131. Following is a discussion of the commands and capabilities
  132. associated with this new feature.
  133.  
  134.   new commands
  135.  
  136.     Horizontal split
  137.  
  138.       splits a file-viewing display area horizontally (into an
  139.       upper and lower segment) at the selected location moving
  140.       the image of the original display area to the upper or
  141.       lower segment depending on whether the cursor is above or
  142.       below the bugged position when the final Command Accept is
  143.       input.
  144.  
  145.          No display area will be created which is smaller then 2
  146.          lines by 20 columns (using the character size of the
  147.          original display area).
  148.  
  149.     Vertical split
  150.  
  151.       splits a file-viewing display area vertically (into a left
  152.       and right segment) at the selected location moving the
  153.       image of the original display area to the left or right
  154.       segment depending on whether the cursor is to the left or
  155.       right of the selected position when the final CA is input.
  156.  
  157.          No display area will he created which is smaller then 2
  158.          lines by 20 columns (using the character size of the
  159.          original display area).
  160.  
  161.  
  162.  
  163.                                                                 [Page 3]
  164.  
  165.     Move boundary
  166.  
  167.       The selected boundary is moved to the new position. A
  168.       boundary will not be moved passed a boundary of a neighbor.
  169.       A boundary is moved for all display areas for which it is a
  170.       boundary. Any resulting display area which is smaller than
  171.       two lines by twenty columns will be deleted.
  172.  
  173.     Character size
  174.  
  175.       The current character size of the display area which
  176.       currently contains the cursor is displayed, and the user
  177.       may type a number (0, 1, 2, 3) for a new character size.
  178.       The final Command Accept causes the character size to be
  179.       changed. The horizontal and vertical increment are
  180.       automatically adjusted. Different display areas may
  181.       simultaneously have different character sizes.
  182.  
  183.     Clear display area
  184.  
  185.       The selected display area is cleared, i.e. the image is
  186.       erased, the return and file return rings are released, and
  187.       the association of a file with that display area is
  188.       removed. The display area itself is not deleted.
  189.  
  190. One may freely edit and jump using several display areas. The
  191. position of the cursor is used to resolve ambiguities.
  192.  
  193.    For example, If one executes a Jump command, the position of
  194.    the cursor when the final Command Accept is entered determines
  195.    in which display area the new image is to appear.
  196.  
  197.    Also, If one changes viewspecs using the leftmost two buttons
  198.    of the mouse, the viewspecs of the display area containing the
  199.    cursor when the buttons go down are used as the initial values
  200.    and are displayed in the viewspec area. When the buttons are
  201.    released, the display area containing the cursor receives the
  202.    new viewspecs.
  203.  
  204.  
  205.        [ This RFC was put into machine readable form for entry ]
  206.        [ into the online RFC archives by BBN Corp. under the   ]
  207.        [ direction of Alex McKenzie.                   12/96   ]
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.                                                                 [Page 4]
  216.  
  217.