ref: 87288afa5ac476efb3ef1ed40df658427339f13e
dir: /9intro.pic/
define tower {
scale=1/$1
right
shift=0.25
boxht=1
boxwid=shift*2
A: box fill 0.9
B:box fill 0.9
C: line from A.nw to A.nw + (-shift, shift)
D: line from A.ne to A.ne + (-shift, shift)
E: line from B.ne to B.ne + (-shift, shift)
F: line from A.sw to A.sw + (-shift, shift)
line from F.end to C.end
line from C.end to D.end
line from D.end to E.end
boxht=0.1
for b = 1 to 4 do { box fill at A.nw + (shift, -(b*boxht) + boxht/2) }
box fill at A.sw + (shift, boxht/2)
box fill at B.sw + (shift, boxht/2)
}
define xterm {
scale=1/$1
outwid=0.8
outht=0.45
inner=0.9
boxht=outht
boxwid=outwid
A:box
B:box fill 0.95 wid outwid*0.9 ht outht*0.9 at A.c
line from B.nw to A.nw
line from B.ne to A.ne
line from B.se to A.se
line from B.sw to A.sw
C:line from A.c + (-0.25, 0.3) to A.c + (0.25, 0.3)
line from A.nw to C.start
line from A.ne to C.end
box fill 0.5 ht 0.2 wid outwid/2 at A.c - (0, outht/2 + 0.1)
D: line from A.c + (-0.5, -0.5) to A.c + (0.5, -0.5)
E: line from A.c + (-0.6, -0.6) to A.c + (0.6, -0.6)
line from D.start to E.start
line from D.end to E.end
box fill 0.95 wid 1.2 ht 0.05 at E.c - (0, 0.0125)
}
define flatpanel {
scale=1/$1
panelscale=40
bht=9/panelscale
bwid=16/panelscale
A:box ht boxht wid boxwid fill 0.95
B:box ht boxht*0.9 wid boxwid*0.8 fill 0.9 at A.c
line from B.nw to A.nw
line from B.ne to A.ne
line from B.se to A.se
line from B.sw to A.sw
}