分享
 
 
 

RFC177 - Device independent graphical display description

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

NETWORK WORKING GROUP J. McConnell

Request for Comment: 177 Ames Research Center Moffet Field, CA

Obsoletes: none 15 June 1971

Updates: 125

NIC: 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.

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. Their

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.

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 section

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

control the display mode of the above where this is applicable.

There are two mode items, the one governing vector modes, and one for

character modes. The quantities specified include brightness,

blinking, color selection, and mode dependent descriptions.

For vector modes, the texture of vectors such as dashed, solid or,

dotted can be specified. For characters, size, and orientation can

be additionally specified. The scope of a mode item extends to the

next encountered mode item of the same type. Mode specifications

could have been included in the display items at the expense of more

parameters and in possibly more data to be transmitted. The mode

specification consists of two eight bit bytes. The bytes have the

following organization:

1 4 3 2 2 3

+-----------------------+ +-----------------+ +-------------------+

B BL CLR TX OR SZ

+-----------------------+ +-----------------+ +-------------------+

BYTEO - both modes BYTE 1- vector BYTE 1- Character mode

mode

Where B Blink if set

BL Brightness level - 0 = invisible, IIII brightness

CLR Color One bit for each primary

TX Texture OO = solid

01 = dashed

10 = dotted

11 = dot - dash

OR Orientation binary value x 90deg

SZ Size

If the device will ot support them, or provide subroutines to perform

these enhanced functions, they are treated as NOPs.

Thus the NGDL is a set of named lists.

DEFINE IMAGE AREA (command = 2) has three parameters a 16 bit area

name; an (x,y) pair defining the lower left corner of the area and

an (x,y) pair defining the upper right corner. If the name has

already been used to define an area then this command serves a

re-definition of that area. If the two (x,y) information

displayed in it. If X1 is greater than Xr or Y1 is greater than

Yr then the definition is treated as NOP.

The following commands are included to avoid retransmission of a

list when some minor changes to it are necessary. All instances

of a list, where an instance is a command to execute the list will

be effected. Where a list has been copied into another list, no

change will take place in the copied list.

TRANSLATE LIST (command = 3) provides for translation of all

instances of a list within all of the image spaces it occurs in.

Parameters are the 16 bit list name, and two 16 fractions for the

coordinate values of the translation.

SCALE LIST (command = 4) can change the size of the picture

created by a list in all image spaces. The parameters are the 16

bit list name followed by two 16 bit (X,Y) unsigned fractions with

eight bits of exponent followed by eight bits of mantissa. These

alter the scale factors in the X and Y directions.

ROTATE LIST (command = 5) will rotate all instances of a list.

The parameters are for the 16 bit list name, and a 16 bit value

corresponding to rotational angle in degrees with the sense being

counter-clockwise for increasing values and the possible axis

being zero degrees.

The NGLI executes in a loop, taking items from the main list. When

the end of the main list is reached, the NGLI returns to the top of

it. At any point, the NGLP gives the NGLI the positional

displacement of the next display item it is processing. When a

display item of the type h. is encountered, the current lists's

execution is suspended, the name of the list, the current origin,

and the NGLP are saved in the NGES. The NGLP is re-set to zero, the

next current origin is calculated, and execution of the new list

commences. When the end of the list is encountered, the old values

are restored from the NGES and execution of the suspended list

continues. The NGLI is then a recursive interpreter. Whenever a new

image area is opened, the name of that image area is stored in the

current image area name.

The problem of interacting with the displayed picture has yet to be

addressed since this is a more complicated area. Interaction may

occur in two fashions: the first, and the easiest to handle, are

those kinds of events which are separate from the picture itself.

This encompasses key boards and function key types of devices. These

can be handled as standard messages from the graphics device to the

serving host. The second class of interactions is with the picture

itself. This is more difficult because of the problem of associating

the point selected with some meaningful entity such as a list. This

association can probably only be made by the serving host since the

using host, or a Form Machine, may have transformed the NGDS in

unknown ways, and the NGDS may no longer exist at the using host's

site.

There are essentially two classes of devices that can interact with

the picture. The first class is synchronous devices, ones who only

cause some attention to occur while a given display item is being

executed. Light pens are synchronous devices. Asynchronous devices

are those which can interact regardless of which, or even when no,

display item is being executed. Asynchronous devices make

associations more difficult since no relationship can be easily

inferred as they can for synchronous devices.

The NGES is created for the interaction with the picture. For

synchronous devices the current values for the list name, origin, and

NGLP, as well as the contents of the NGES provides a hierarchical

structure where associations can be made. For asynchronous devices,

the structure is probably not as necessary as the name and

coordinates within the image space in which the interaction occurred.

It will be necessary for the using host to understand which type of

devices are available and to supply proper type of interaction

information to the serving host.

The form of the interaction information for synchronous devices

follows:

INTERACTION (type, cia, cln, cor, clp, n, l1, or1, lp1, ...ln, orn, lpn)

Where type describes the interaction type 0=synchronous

cia current image area name

cln current list name

cor current origin value

clp current NGLP value

n number of entries in NGES, higher value of n is older entry

li list name of the i th entry

ori origin of the i th entry

lpi NGLP of the i th entry

The form for asynchronous i.. teraction is:

INTERACTION (type, cia, iax, iay, sx, sy)

Where type = 1 for asynchronous interactions

cia current image name

iax image area x coordinate

iay image area y coordinate

sx,sy screen x,y coordinates

NETWORK Using Host

+-------+

NGDL +--------+ +-------+

+--------+ --------->

------> NGLI ------> NGS

NGDS +-------+

+-------+

------> ---------> +-------+

+--------+ IMAGE +--------+

AREA ^

DEFINI-

TIONS V

+-------+ *--------+

NGLES

&

NGLP

+--------+

[This RFCwas put into machine readable form for entry]

[into the online RFCarchives by Kelly Tardif, Viagie 12/1999]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有