Display Buffers
Syntax
dspyst = startbuffer / bufappend / estab;
startbuffer - "start" "buffer";
bufappend = "append" bufstuff $('& bufstuff);
bufstuff = :
"parameters" dspyparm $('. dspyparm) /
"character" exp /
"string"1 strilng /
"vector" ("from" exp ':exp / .empty) "to" exp '. exp /
"position" (onoff / .empty) "beam" "to" exp '= exp/
curve" ;
dspyparm F :
"intensity" "to" exp /
"character" "width" "to" exp /
"blink" onoff /
"italics" onff;
onoff = "on" / "off";
estab = "establish" buffername;
Logical Screen
-
The screen is taken to be a square. The coordinates are normalized from -1 to +1 on both axes.
-
Associated with the screen is a position register, called PREG. The register is a triple <x.y.r> where x and y specify a point on the screen and r is a rotation in radians, counter clockwise, from the x-axis.
-
The intensity, called INTENSITY, is a real number in the range from 0 to 1. 0 is black, 1 is as light as your display can go, and numbers in between specify the relative log of the intensity difference.
-
Character frame size.
-
Blink bit.
Buffer Building
-
The terminal nodes of semi-trees are either semi-tree names or display buffers. A display buffer is a series of logical entities, called bufstuff.
-
When the buffer is initilized, it is empty. If no parameters are initially appended, those in effect at the end of the display of the last node in the semi-tree will be in effect for the display of this node.
-
As the buffer is built, the logical entities are added to it. When it is established as a buffername, the buffer is closed, and further appends are prohibited. It is only a buffername has been established that it may be used in a tree building statement.
Logical Input Devices
-
Wand
-
Joy Stick
-
Keyboard
-
Buttons
-
Light Pens
-
Mice
Audio Output Devices
.end