Skip to main content

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