📄 rfc184.txt
字号:
On a Gould Electrostatic Printer-Plotter, for example, the system would expect to have dot patterns with which to fill areas in order to simulate the greys. For purposes of other displays, a SETSQUARES procedure should be available so that the user can specify various kinds of cross- hatching and character filling to apply to the grid areas. To enter an item of data the procedure is 1 <= I <= N GRIDAREA(I, J, LEVEL) 1 <= J <= M 1 <= LEVEL <= IRNGE where I and J select an area on the grid, and LEVEL tells how to fill it. Obviously, for this kind of display mode some provision must be made to end the picture because the servicing routine will have to work on it from either the top or the bottom in a sweep mode. A procedure call of GRIDAREA(0, 0, 0) will terminate it. The GRIDAREA mode is very similar to the following, MATRIXAREA, with the primary difference being that the specification of areas is random and areas which are not specified will be left blank.Kelley [Page 4]RFC 184 Proposed Graphic Display Modes 6 July 1971 MATRIXAREA The user specifies an area size and a "pseudo- ---------- character" set, then writes from left to right, top to bottom, much like a line printer, using bytes to specify which of his "pseudo-character" set to use.The initializing call is MATRIXSET(N, M, DEFINITION, CODE)The display mode is raster ________________________oriented, and each "pseudo- | _ _ _ _ _ _ |character" will be on a N x M | |_| |_| |_| |_| |_| |_||matrix of dots. (A later | _ _ _ |embellishment for printers | |_| |_| |_| . . . |would include matrix of characters.) | _ _ |Parameters DEFINITION and CODE | |_| |_| . . . |are both arrays, used together to | . \ \ |specify the "pseudo-character" set. | . \ \ |DEFINITION is packed with bits |________\___\___________|according to the following scheme: \ \ \ \ \ __\_______ \ / \ \/ ________ \ / |_|_|_|_| \ / |_|_|_|_| \ | |_|_|_|_| | | |_|_|_|_| | \ |_|_|_|_| / \ |_|_|_|_| / \ / \___________/ n - bits +--+--+--+--+ |XX| | |XX| |--|--|--|--|s | |XX|XX| |t |--|--|--|--|i |XX| | |XX|b |--|--|--|-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+--\ | |XX|XX| | <=== |1|0|0|1|0|1|1|0|1|0|0|1|0|1|1|0|1|0|0|1|0|1|1|0|\- |--|--|--|--| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-\m |XX| | |XX| \--v--/ \--v--/ \--v--/ \--v--/ \--v--/ \--v--/ |--|--|--|--| n n n n n n | |XX|XX| | +--+--+--+--+ \-------------------------v---------------------/ m-groupsKelley [Page 5]RFC 184 Proposed Graphic Display Modes 6 July 1971 The bit stream for the definition is irrespective of word boundaries. We leave it up to the MATRIXSET routine to be able to undo this. Obviously, for user convenience we have some standard sets they can use to save having to define their own, and if they want to define their own, we make routines to ease the pain. The array CODE, on the other hand, is a byte-stream, i.e., a stream of eight-bit groups of bits which will correspond to each of the groups of (N x M)-bits. This allows 256 pseudocharacters for one set. To enter an item of data in this mode the procedure is MATRIXAREA(ARRAY, LENGTH) ARRAY is a buffer location and length is the number of code bytes which are to be put out. Each call will put out one row of the display. Unused bytes at the end of the stream (bytes left over in the last word) should be zero. Any codes in excess of the maximum number allowed on a line will be discarded. It should be noted that this routine is nominally used for special character sets, or for that matter, any character sets that are software generated on dot-raster devices. In addition, however, it can be used for photomosaic displays, area filling on maps, and development of capability of producing audiovisual aids for presentations. SCANLINE A raster-scanning display mode for which the -------- user specifies a raster size, number of grey levels needed, and direction of scan. The subsequent data items specify only the location and character of a change in the scanning beam (or program). The initializing procedure is SCANLINESET(DELTA, LEVELS, ORGMODE) DELTA is an integer specifying the number of display points to be included in each step. LEVELS denotes the number of intensity levels to be used, and the sign of ORGMODE specifies whether the scan is to be from the bottom up (plus) or top down (minus) on the display. For both cases we will assume left-to-right. The absolute value of ORGMODE gives the starting Y position. All subsequent calls to this routine are of the form SCANLINE(X, INTENSITY)Kelley [Page 6]RFC 184 Proposed Graphic Display Modes 6 July 1971 The first such call denotes the origin in X and the initial intensity. Subsequent calls denote the X value of the next point on the scan where the intensity is to change, and that new intensity. The program (or device) takes care of the stepping of the scan by DELTA across the page, with the current intensity. Thus, the program (device) only needs a data item for each change in the scan, not for each position. When the next X is less than the previous X, or the X position has been stepped to its limit, the Y position in the incremented or decremented to continue the scan on the next line. We see the device which accepts such a display as accepting a stream of triplets of bytes, where the first two bytes (16 bits) specify the X and the third (8 bits) specifies the level. The end of the stream would be specified by three bytes of deletes (all ones). This display mode is implemented in hardware on the display at the Coordinated Science Laboratory at this University. It is the same one which was used for the grey-scale work which has been reported by Bouknight. SCANPOINT A point with intensity scanning mode in which --------- the scan is handled automatically and only the intensity of each point needs to be transmitted to the program (device). The initializing call for this procedure is SCANPOINTSET(DELTA, LEVELS, ORGMODE) The arguments are the same as for SCANLINE. The difference is in the meaning of subsequent calls. The origin for the scan is at the left end of the line corresponding to the absolute value of ORGMODE. The stepping is done from left to right and at the end of each line, the Y position is incremented or decremented by DELTA, according to the sign of ORGMODE. Subsequent calls to this procedure are of the form SCANPOINT(LEVEL) where LEVEL denotes the intensity level at which the next point is to be displayed. In this mode every point must have its intensity specified by a separate call to the routine (byte to the device). However, beyond the starting point no position information is required. [ This RFC was put into machine readable form for entry ] [ into the online RFC archives by Hamid Dastkar 09/99 ]Kelley [Page 7]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -