<> <> DIRECTORY BasicTime USING [GMT, nullGMT]; Idle: CEDAR DEFINITIONS = BEGIN Sleep: PROC [ proc: ImageProc _ DefaultImageProc, powerOff: BasicTime.GMT _ BasicTime.nullGMT]; <> <<`proc' provides the roving image. It is invoked every time Sleep chooses to change the coordinate position, which varies randomly between 0.25 and 2.0 seconds.>> <> ImageProc: TYPE = PROC [w, h: CARDINAL] RETURNS [BitmapRef]; <> <> BitmapRef: TYPE = REF READONLY BitmapRep; BitmapRep: TYPE = RECORD [ base: REF, -- pointer to bitmap bits raster: CARDINAL, -- words per line (note: words, not bits) width: CARDINAL, -- width in bits height: CARDINAL -- height in lines ]; DefaultImageProc: ImageProc; END.