📄 rfc177.txt
字号:
NETWORK WORKING GROUP J. McConnellRequest for Comment: 177 Ames Research Center Moffet Field, CAObsoletes: none 15 June 1971Updates: 125NIC: 7102 A DEVICE INDEPENDENT GRAPHICAL DISPLAY DESCRIPTION As more nodes are connected to the ARPA network, the types of graphical display processors available to users is quite varied. To attempt to facilitate the transmission of graphical information over the network, a device independent description of a display is described. The using host may make any conversions necessary to realize the picture on a specific device. It is also possible to interpose a form machine as proposed by Heafner and Harslem in RFC #94. Some of the items and entities described herein were first discussed by Steve Crocker in RFC #86. It is intended that this description is to be oriented to a refresh display with point, vector, and character drawing capability, these types of devices include the IBM 2250, IMLAC PDS-1, the DEC 338, and DEC 340, as well as the Evans and Sutherland LDS-1. However, direct video storage tube devices represented by the ARDS, Tektronix and Computer devices can also serve as clumsy interactive devices. Hard copy devices, such as microfilm or plotters, can also be used at the using host's discretion. There are several items and constructs which will be defined before discussing the specifics of the description: 1. The network standard graphics description stream (NGDS) contains the description, data, and operators necessary to effect a display. 2. The network standard stream interpreter (NGSI) parses the NGDS into its components. 3. The network standard display list (NGDL) is the basic entity which, when executed, causes graphical information to be displayed. 4. The network standard list interpreter (NGLI) is the entity which executes the NGDL and controls the beam movement to effect generation of graphical information. 5. The network standard screen (NGS) is the entity on which the information is to be displayed. It may be divided into image areas to be defined later.McConnell [Page 1]RFC 177 A DEVICE INDEPENDENT GRAPHICAL DISPLAY DESCRIPTION June 1971 6. The network standard graphics list pointer (NGLP) and the network standard graphics execution stack (NGES) are entities which describe the state of the NGLI at any given time and provide the facilities to allow the NGLI to be a recursive interpreter. Figure 1. summarizes the preceding discussion graphically, which is appropriate. The network standard graphics screen is rectangular and positions on it are specified by an ordered pair of fractions representing the horizontal distance from the left edge and the vertical distance from the bottom edges respectively. These shall be termed the (x,y) coordinates as is standard. There is no specification of resolution, so that the quality of the picture will degrade with the decreasing resolution of a poor display device, or be improved if it is displayed on a higher resolution device. Coordinate values are specified by a 16 bit unsigned fractions with the binary point to the left of the most significant bit - this provides a normalized screen with coordinates between 0.0 and .999...9. The NGS may be subdivided into rectangular image areas with possibility unique displays in each space. An image area has three attributes: a 16 bit integer name, an x,y pair specifying the lower left corner and an x,y pair to specify the upper right corner of the area. Image spaces may overlap, but may not be completely contained within each other. The main image space has the name 0 and is coincident with the NGS. The use of image spaces allows for manipulation of part of the NGS's contents, as well as redefining the coordinate space. Within an image area, coordinate values are fractional displacements from the lower left hand corner of the image space. Thus an image area defined from (0.0, 0.0) to (0.5, 0.5) would contain an image one-fourth of the size of what it would be on the full NGS. Character strings may be displayed at arbitrary points in an image area. Because many display devices have hardware character generators capable of producing one, or a few sizes, character scaling within an image area will not be expected. Characters shall be assumed to be .014 screen width wide, and .025 screen height high including spacing. This gives a screen capacity of 72 characters and 40 lines. When the beam is moved to be a screen position prior to drawing a character, it is assumed to be in the center of the rectangle defining the character space. The beam position after drawing a character, or a string of characters, is undefined. The format of the NGDS can now be specified. The NGSI parses the NGDS into commands. The commands are in a prefix format with an eight bit command followed by the necessary parameters. TheirMcConnell [Page 2]RFC 177 A DEVICE INDEPENDENT GRAPHICAL DISPLAY DESCRIPTION June 1971 descriptions follow the numerical order of the command codes. ERASE (commands = 0) consists of a command byte and no parameters. Its effect is to erase the full NGS. DEFINE LIST (commands = 1) has three parameters. A 16 bit integer for the list name is first. If the name has already been used, then this command redefines the list. The count of the items in the list is also a 16 bit integer defining the length of the list in items. The list items follow the count terminating with an end list item. The items themselves are used to control the NGLI and the movement of the beam when drawing pictures. They are also in prefix format, with an eight bit item code followed by the necessary parameters. All names are 16 bit integers, coordinate data are 16 bit unsigned fractions as previously described. Any other parameters will have their type and size specified in individual descriptions. a. OPEN IMAGE AREA (name) (item type = 0) instructs the NGLI that list commands which follow are to be adjusted to be contained within the named area. A nonexistent area name is treated as a NOP. If no image area is specified for the NGLI the default area is area 0, the NGS. This directive remains in effect until another type 0 item is encountered by the NGLI. b. RESET IMAGE AREA (name) (item type = 1) causes the NGLI to move the beam to the lower left corner of the image area. A nonexistent name is again treated as a NOP. c. CLEAR IMAGE AREA (name) (item type = 2) causes the NGLI to erase all graphical information in the specified area, and then to perform a reset command. The following items are display items which actually cause beam movement by the NGLI. Coordinate data are relative to the origin of the current image area and are taken as fractional displacements within this area. d. MOVE BEAM (x,y) (item type = 3) causes the NGLI to move the beam to (x,y) relative to the current origin. e. DISPLAY CURRENT POSITION (item type = 4) causes the NGLI to display the current point on the NGS.McConnell [Page 3]RFC 177 A DEVICE INDEPENDENT GRAPHICAL DISPLAY DESCRIPTION June 1971 f. DISPLAY VECTOR (x,y) (item type = 5) causes a vector to be drawn from the current point to (x,y). After the operation, (x,y) becomes the current point. g. DISPLAY CHARACTERS (n, 'C1, C2...Cn') (item type = 6) causes the n characters to be displayed starting from the current point. N is the character count and is an eight bit byte. The character set recognized by the NGLI is composed of eight bit bytes interpreted in the following ways. Any character with the most significant bit a zero is interpreted as an ASCII character. Some non-graphic ASCII characters may have special functions within a string: 1. Line feed (LF) move the beam one line spacing downward. 2. Carriage return (CR) move the beam to the left most character position in the current line. 3. Backspace (BS) move the beam one character position to the left in the current line. 4. Tab move the beam a predetermined number of character positions to the right in the current line. The number will follow the tab character in the string, but may not exceed the capacity of the current line. 5. Vertical tab (VT) move the beam down a predetermined number of line spacings. The number of spacings follow the VT character and may not exceed the line capacity of the screen. This is expanded as multiple line feeds. 6. Any other non-graphic character - could cause a space character to appear in its place on the display, or it may be used for any purpose two processes choose. Characters with the most significant bit a one are used for an extended character set where a device can support this. These may also be used as an implicit stroke table, calls being the names of special graphic lists that may be defined in the NGDS. If no eight bit list name exists, then the character is a space. h. EXECUTE LIST (name, x, y) (item type =7) causes the NGLI to suspend interpretation of the list and interpret the named list. It is equivalent to a subroutine call. The (x,y) pair specifies the origin of the new list relative to the current origin. The actions taken by the NGLI are specified in the next sectionMcConnell [Page 4]RFC 177 A DEVICE INDEPENDENT GRAPHICAL DISPLAY DESCRIPTION June 1971 i. COPY LIST (name, x,y) (item type = 8) cause the items contained in the named list to be copied into the place of the item with the origin of the list at (x,y) relative to the current origin. This is analogous to item (h) as a subroutine is to a macro. j. EXECUTE TABLE (name, mode, length) (item = 9) causes the NGLI to treat the named list as a special entity. It is constrained to contain only coordinate pairs. It may be executed in either point or vector mode as specified by the mode parameter 1= vector, 0= point. The length of the list is specified by a 16 bit integer parameter. k. END LIST (item type = 10) has no parameters and informs the NGLI that the end of a list has been reached. l. TABLE (n) (item type = 11) specifies that there are (x,y) pairs in this list. N is a 16 bit integer. m. Set vector mode (mode) (item type = 12) n. Set character mode (mode) (item type 13) In addition to the above display items, some items exist which
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -