DIRECTORY CDProperties, CD, Rope, CDValue; CDSetupPD: CEDAR PROGRAM IMPORTS CDProperties, CD, CDValue = BEGIN Stipple4: TYPE = ARRAY [0..4) OF [0..16); Stipple8: TYPE = ARRAY [0..8) OF [0..256); currentTech: CD.Technology_NIL; cLev: CD.Layer _ CD.combined; blackX: REF _ $CDxVersatecBlack; cyanX: REF _ $CDxVersatecCyan; yellowX: REF _ $CDxVersatecYellow; magentaX: REF _ $CDxVersatecMagenta; Technology: PROC[tech: ATOM] = BEGIN IF currentTech#NIL THEN ERROR; currentTech _ CD.FetchTechnology[tech]; END; Keys: PROC[device, b, c, m, y: ATOM, text: Rope.ROPE_NIL, invert: BOOL_FALSE] = BEGIN blackX _ b; cyanX _ c; yellowX _ y; magentaX _ m; CDValue.Store[currentTech, device, text]; IF invert THEN { CDProperties.PutPropOnAtom[device, $CDxColorPDPlotBlack, yellowX]; CDProperties.PutPropOnAtom[device, $CDxColorPDPlotCyan, magentaX]; CDProperties.PutPropOnAtom[device, $CDxColorPDPlotYellow, blackX]; CDProperties.PutPropOnAtom[device, $CDxColorPDPlotMagenta, cyanX]; } ELSE { CDProperties.PutPropOnAtom[device, $CDxColorPDPlotBlack, blackX]; CDProperties.PutPropOnAtom[device, $CDxColorPDPlotCyan, cyanX]; CDProperties.PutPropOnAtom[device, $CDxColorPDPlotYellow, yellowX]; CDProperties.PutPropOnAtom[device, $CDxColorPDPlotMagenta, magentaX]; }; CDProperties.PutPropOnAtom[device, $CDxLastTechnology, currentTech.key]; FOR l: CD.Layer IN CD.Layer DO Forgett[l] ENDLOOP; END; End: PROC [] = BEGIN currentTech _ NIL END; LayerModify: PROC[uniqueKey: ATOM] = BEGIN cLev _ CD.FetchLayer[t: currentTech, uniqueKey: uniqueKey]; END; Layer: PROC[uniqueKey: ATOM] = BEGIN cLev _ CD.FetchLayer[t: currentTech, uniqueKey: uniqueKey]; Forgett[cLev] END; LayerNumber: PROC [lev: NAT] = BEGIN cLev _ lev; Forgett[cLev] END; LayerNumberModify: PROC [lev: NAT] = BEGIN cLev _ lev END; Black8: PROC [stipple: Stipple8] = BEGIN IF blackX#NIL THEN CDProperties.PutPropOnLayer[onto: cLev, prop: blackX, val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple8 _ stipple] ] END; Black4: PROC [stipple: Stipple4] = BEGIN IF blackX#NIL THEN CDProperties.PutPropOnLayer[onto: cLev, prop: blackX, val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple4 _ stipple] ] END; Cyan8: PROC [stipple: Stipple8] = BEGIN CDProperties.PutPropOnLayer[onto: cLev, prop: cyanX, val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple8 _ stipple] ] END; Cyan4: PROC [stipple: Stipple4] = BEGIN CDProperties.PutPropOnLayer[onto: cLev, prop: cyanX, val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple4 _ stipple] ] END; Magenta8: PROC [stipple: Stipple8] = BEGIN CDProperties.PutPropOnLayer[onto: cLev, prop: magentaX, val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple8 _ stipple] ] END; Magenta4: PROC [stipple: Stipple4] = BEGIN CDProperties.PutPropOnLayer[onto: cLev, prop: magentaX, val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple4 _ stipple] ] END; Yellow8: PROC [stipple: Stipple8] = BEGIN CDProperties.PutPropOnLayer[onto: cLev, prop: yellowX, val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple8 _ stipple] ] END; Yellow4: PROC [stipple: Stipple4] = BEGIN CDProperties.PutPropOnLayer[onto: cLev, prop: yellowX, val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple4 _ stipple] ] END; Forgett: PROC [lev: NAT] = BEGIN IF blackX#NIL THEN CDProperties.PutPropOnLayer[onto: lev, prop: blackX, val: NIL]; IF cyanX#NIL THEN CDProperties.PutPropOnLayer[onto: lev, prop: cyanX, val: NIL]; IF magentaX#NIL THEN CDProperties.PutPropOnLayer[onto: lev, prop: magentaX, val: NIL]; IF yellowX#NIL THEN CDProperties.PutPropOnLayer[onto: lev, prop: yellowX, val: NIL]; END; END. ÐCDSetupPD.mesa Copyright c 1984, 1985 by Xerox Corporation. All rights reserved. Last Edited by: Ch. Jacobi, May 11, 1984 9:57:55 pm PDT Last Edited by: Ch. Jacobi, October 23, 1985 12:27:37 pm PDT ʘšœ™Jšœ Ïmœ7™BJ™8J™=J˜—šÏk ˜ Jšœžœ˜ —šÏb œžœžœ˜Jšžœžœ ˜#Jšž˜Jšœ žœžœžœ ˜)Jšœ žœžœžœ ˜*J˜Jšœ žœ žœ˜Jšœžœ žœ ˜J˜Jšœžœ˜"Jšœžœ˜ Jšœ žœ˜"Jšœ žœ˜$J˜šÏn œžœžœ˜Jšž˜Jšžœ žœžœžœ˜Jšœžœ˜'Jšžœ˜—J˜š œžœžœ žœžœ žœžœ˜PJšž˜Jšœ ˜ Jšœ ˜ Jšœ ˜ Jšœ ˜ Jšœ)˜)šžœžœ˜JšœB˜BJšœB˜BJšœB˜BJšœB˜BJšœ˜—šžœ˜JšœA˜AJšœ?˜?JšœC˜CJšœE˜EJ˜—JšœH˜Hš žœžœžœžœž˜Jšœ ˜ Jšžœ˜—Jšžœ˜—J˜š œžœ˜Jšž˜Jšœž˜Jšžœ˜—J˜š  œžœ žœ˜$Jšž˜Jšœžœ2˜;Jšžœ˜—J˜š œžœ žœ˜Jšž˜Jšœžœ2˜;Jšœ ˜ Jšžœ˜—J˜š  œžœžœ˜Jšž˜Jšœ ˜ Jšœ ˜ Jšžœ˜—š œžœžœ˜$Jšž˜Jšœ ˜ Jšžœ˜—š œžœ˜"Jšž˜šžœžœž˜šœ6˜6Jš œžœ žœžœžœžœžœ˜