跳到主要内容

显示缓冲区

语法​

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;

逻辑屏幕​

  • 屏幕被视为一个正方形。坐标在两个轴上都从 -1 归一化到 +1。

  • 与屏幕相关联的是一个位置寄存器,称为 PREG。该寄存器是一个三元组 <x.y.r>,其中 x 和 y 指定屏幕上的一个点,r 是自 x 轴起逆时针方向的、以弧度表示的旋转。

  • 强度称为 INTENSITY,是范围在 0 到 1 之间的实数。0 表示黑色,1 表示显示器能达到的最亮程度,介于两者之间的数表示强度差的相对对数值。

  • 字符帧大小。

  • 闪烁位。

缓冲区构建​

  • 半树的终端节点要么是半树名称,要么是显示缓冲区。显示缓冲区是一系列逻辑实体,称为 bufstuff。

  • 当缓冲区被初始化时,它是空的。如果最初没有追加任何参数,那么在半树中最后一个节点显示结束时生效的参数将对此节点的显示生效。

  • 在构建缓冲区的过程中,逻辑实体被添加到其中。当它被确立为一个 buffername 时,缓冲区被关闭,禁止进一步追加。只有当 buffername 被确立之后,它才能用于树构建语句。

逻辑输入设备​

  • 指示笔

  • 操纵杆

  • 键盘

  • 按钮

  • 光笔

  • 鼠标

音频输出设备​

.end