DIRECTORY Terminal USING [Virtual], Imager USING [Context]; RandomDemo: CEDAR DEFINITIONS = BEGIN Register: PROC [ proc: PROC, --registered proc; see restrictions clearProc: BOOL _ FALSE, --whether proc fills or clears the screen b1: REAL _ 0.90, --fill wants a clear first, clear wants a fill first b2: REAL _ 0.10, --?? weight: REAL _ 1, --weight for random selection time: INT _ -1 --in milliseconds, hint only ]; stop: READONLY BOOL; context: Imager.Context; --(bw) pixel units vt: Terminal.Virtual; --consider read only screenW: READONLY NAT; --pixels width screenH: READONLY NAT; --pixels height screenw: READONLY NAT; --pixels width-1 screenh: READONLY NAT; --pixels height-1 Clear: PROC[]; Pause: PROC[milliSeconds: INT]; Rand: PROC[max: CARDINAL] RETURNS [CARDINAL]; RandChar: PROC [] RETURNS [CHAR]; SetRandCharMode: PROC []; Mode: TYPE = {set, xor, clr}_set; DrawDot: PROC [x, y: INTEGER, mode: Mode_set]; DrawLine: PUBLIC PROC [x1, y1, x2, y2: INTEGER, mode: Mode_set]; END.  RandomDemo.mesa Copyright c 1984, 1986 by Xerox Corporation. All rights reserved. Created by: Jacobi, September 19, 1984 10:03:05 am PDT Last Edited by: Christian Jacobi, August 12, 1986 12:28:44 pm PDT -- all registered procedures are supposed to be friendly: they must -- be short, test the "stop" flag, or call utility procs from this module -- not fork processes which modify context after procedure is finished -- not change vt --all utility procedures might abort on time out for the demo --clears the screen --very limited range only --poor quality random number --dependent of mode random or not at all --set mode for RandChar --x, y must be visible --in device coordinates (0, 0 ist top left) --the two endpoints must be visible --in device coordinates (0, 0 ist top left) Κ˜™Jšœ Οmœ7™BJ™6Icode™A—J˜šΟk œ˜ Jšœ žœ ˜Jšœžœ ˜J˜—šΟb œžœž œ˜ Jšž˜J˜Jšœ?Ÿ™CJšœΟc=™KJšœ /œ   ™GJšœ  œ™Jš ™šΟnœžœ˜Jšœžœ #˜4Jšœ žœžœ )˜BJšœžœ  5˜HJšœžœ  ˜Jšœžœ ˜1Jšœžœ  ˜.Jšœ˜—J˜J™Jšœ œ%™=J™Jšœžœžœ˜J˜Jšœ ˜,Jšœ ˜+Jšœ žœžœ ˜%Jšœ žœžœ ˜&Jšœ žœžœ ˜'Jšœ žœžœ ˜(J˜J™š‘œžœ˜Jšœ™—J˜š‘œžœžœ˜Jšœ™J˜—š ‘œžœžœžœžœ˜-J™—J˜š‘œžœžœžœ˜!Jšœ(™(—J˜š‘œžœ˜Jšœ™—J˜Kšœžœ˜!J˜š‘œžœžœ˜.Jšœ™Jšœ+™+J™—š‘œžœžœžœ˜@Jšœ#™#Jšœ+™+—J˜Jšžœ˜—J˜J˜J˜J˜—…— ·