DIRECTORY ControllerDefs: FROM "ControllerDefs", Real: FROM "Real", StyleDefs USING[Color]; Controllers: CEDAR PROGRAM IMPORTS Real EXPORTS ControllerDefs = BEGIN OPEN ControllerDefs; hController: HardcopyController; dController: DisplayController; ControlPair: TYPE = RECORD [next: ControlPairHandle, color: StyleDefs.Color, grey: [0 .. 255]]; lControlPair: CARDINAL = SIZE [ControlPair]; ControlPairHandle: TYPE = REF ControlPair; firstControlPair, lastControlPair: ControlPairHandle _ NIL; PixelsToMicas: REAL; SetHardcopyController: PUBLIC PROCEDURE [hc: HardcopyController] = BEGIN hController _hc END; SetDisplayController: PUBLIC PROCEDURE [dc: DisplayController] = BEGIN dController _ dc END; ReadDisplayController: PUBLIC PROCEDURE RETURNS [DisplayController] = BEGIN RETURN [dController] END; ReadHardcopyController: PUBLIC PROCEDURE RETURNS [HardcopyController] = BEGIN RETURN [hController] END; DefaultControllers: PUBLIC PROCEDURE = BEGIN OPEN StyleDefs; c: ControlPairHandle; PixelsToMicas _ 32; hController _ [hxcenter: 304*PixelsToMicas, hycenter: 404*PixelsToMicas, hwidth: 608*PixelsToMicas, hheight: 808*PixelsToMicas, pressxcenter: Real.RoundC[304*PixelsToMicas], pressycenter: Real.RoundC[404*PixelsToMicas], hscale: 1]; dController _ [dxcenter: 304, dycenter: 404, dwidth: 608, dheight: 808, dxscale: 1.0/PixelsToMicas, dyscale: 1.0/PixelsToMicas, dxorigin: 0, dyorigin: 0, dgridsize: 8]; UNTIL firstControlPair = NIL DO c _ firstControlPair.next; firstControlPair.next _ NIL; firstControlPair _ c; ENDLOOP; END; ForAllControlPairs: PUBLIC PROCEDURE [proc: PROC [h, s, v: [0 .. 255], grey: [0 .. 255]]] = BEGIN rover: ControlPairHandle _ firstControlPair; END; ControllerError: PUBLIC SIGNAL = CODE; END. ÆCompiler Controllers/n Stone, May 2, 1981 12:41 PM implementing module for griffin file controllers Last Edited by: Stone, July 13, 1983 6:29 pm --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- this section describes the hardcopy controller data this section describes the display controller data set up the conversion from alto pixels to micas (press) PixelsToMicas _ 635; PixelsToMicas _ PixelsToMicas/18; this section resets the hardcopy controller data this section resets the display controller data UNTIL rover = NIL DO proc [rover.color, rover.grey]; rover _ rover.next; ENDLOOP; ÊØJ˜Jšœ™Jšœ™Jšœ0™0Jšœ,™,J˜šÏk œ˜ Jšœœ˜&Jšœœ˜Jšœ œ˜—J˜J˜J˜JšœQ™QJšœQ™Qšœ ˜Jšœ˜ Jšœ˜—J˜Jšœœ˜J˜J˜J˜Jšœ3™3J˜ J˜J˜J˜Jšœ2™2J˜Jšœ œœE˜_Jšœœœ˜,Jšœœœ ˜*Jšœ7œ˜;J˜Jšœœ˜J˜JšÏnœœ œ˜BJšœœ˜J˜J˜Jšžœœ œ˜@Jšœœ˜J˜J˜J˜Jšžœœ œœ˜EJšœœœ˜J˜J˜Jšžœœ œœ˜GJšœœœ˜J˜š žœœ œœœ ˜