⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc86.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
字号:
Network Working Group                                           S. CrokerRequest for Comments #86                                        January 5, 1971NIC 5631                                                        UCLA                 Proposal for a Network Standard Format             for a Data Stream to Control Graphics DisplayA typical arrangement of facilities is to have a console attached to acomputer at the user's site, and to be using the computational facilitiesof a remote site.  Information entered by the user is transmitted to theremote Host, and output from the remote Host is transmitted back to thelocal user.  In this proposal I am concerned with specifying the form ofthe output stream for the case that the output portion of the console is atypical refresh display with point, vector and character drawing capability.Devices in this class include the DEC 338, DEC 340, IBM 2250, and IMLACPDS-1.It must be understood that this proposal is illustrative only, and knowinglyavoids important issues.  Its main purpose is to provide a basis for dis-cussion and development.In order to specify the semantices of the network standard graphics datastream (NGDS), I will postulate   1.   a network standard display list (NGDL)   2.   a network standard stream interpreter (NGSI)   3.   a network standard list interpreter (NGLI), also called the        display controller, and   4.   a network standard screen (NGS)                                                                [Page 1]The NGDS is accepted into the local Host and interpreted by the NGSI.  TheNGSI is a process which modifies the NGDL according to inputs in the NGDS.The NGDL is the display list for the NGLI; the NGLI executes the NGDL andcontrols the beam which writes on the NGS.The NGS is square, has horizontal and vertical sides, and positions on itare specified by an ordered pair of unsigned 16 bit fractions.  The firstfraction specifies the horizontal distance from the left hand edge, andthe second specifies the vertical distance from the bottom edge.  Theresolution of the screen is unspecified.The lack of specification of the resolution of the NGS is intentional;programs designers should not interpret this to mean that they may imposea particular requirement on the using system.  Thus the quality of thedisplayed picture should degrade gradually with decreasing resolution.The NGLI has primitives for moving the beam to a particular point, intensify-ing a point, drawing a vector, or drawing a character.  Characters areassumed to be not more than .015 screen width wide, and not more than .025screen height high.  When the beam is moved to a screen position beforedrawing characters, that position should be at the lower left hand cornerof the first character drawn.  The beam position after drawing a characteris immediately to the right of the character, properly positioned for anothercharacter.  However, after drawing one or more characters, the exact horizontal                                                                [Page 2]position of the beam is unspecified.The imprecise specification of character size is intended to take cognizanceof the existance of character drawing hardware which is capable of producingonly one or a few character sizes.  The particular proportions of .015 wideby .025 high provides for 67 characters to a line and 40 lines, and seemswell within the capability of most displays in the class considered.  As inthe case of screen resolution, variations in character drawing hardwareshould cause only minor degradation in the usefulness of the picture.The character set intrepreted by the NGLI is ASCII, excepting all formcontrol characters, but including the space character.  The tab, returnand line feed functions should be simulated by explicit positioning of thebeam.The NGDL consists of a set of named and possibly null lists.  The namesare 16 bit integers, and the name zero is the name of the chief list.Each list is composed of zero of more display items.  An item is any ofthe following:                                                                [Page 3]   a)  "Move beam to xxxx,yyyy, relative to current origin"   b)  "Display vector from current position to xxxx,yyyy, relative to        current origin"   c)  "Display current point"   d)  "Display the following n characters:       c  c  ...c "        1  2     n   e)  "Execute list gggg with origin xxxx,yyyy relative to current origin"The NGLI is constantly in a loop executing the chief list, the origin ofthe chief list is always <0,0>.  When the NGLI comes to the end of thechief list, it returns to the top of it.  When the NGLI encounters atype e item, it suspends execution of the current list, set the new originto <xxxx,yyyy> + <the old origin>, and executes the list named gggg. Whenfinished with the list, the old origin is restored and execution of theold list resumed.  The NGLI is, therefore, a recursive interpreter, andtype e items are subroutine calls.There remains only the matter of the NGDS and the NGSI.  The NGDS is parsedinto commands by the NGSI and each command is executed as soon as it isrecognized.  The commands in the NGDS are in prefix form, consisting of aneight bit operation code followed by any arguments.  Only two commandsare defined: Erase and Replace.The Erase command consists of a single zero-valued opcode and no arguments.The NGSI executes the Erase command by making all lists into null lists.                                                                [Page 4]This erases the screen.The Replace command has an opcode of 1, followed by a 16-bit list name,followed by an 8 bit subargument count, followed by the indicated numberof subarguments.  The NGSI executes the Replcae command by deleteing allitems from the indicated list, and rebuilding the list from the subarguments.There are five kinds of subarguments, corresponding to the five item types.                                                                [Page 5]            <subargument>::=<atype> | <btype> |  <ctype> |                                      <dtype> | <etype>            <atype>::= <a> <x> <y>            <btype>::= <b> <x> <y>            <ctype>::= <c>            <dtype>::= <d> <n> <c> ... <c>                                    n            <etype>::= <e> <g> <x> <y><a>, <b>, <c>, <d>, and <e> are 8 bit bytes valued at 0, 1 ... 4,respectively and corresponging to the item types listed on page 4.            <x> and <y> are 16 bit numbers            <g> is a 16 bit list name            <n> is an 8 bit count            <c> is an ASCII character code       [ This RFC was put into machine readable form for entry ]         [ into the online RFC archives by Anand Kumria 6/97 ]                                                                [Page 6]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -