VersatecStipples:
CEDAR
PROGRAM
IMPORTS CDProperties, CD =
BEGIN
Stipple4: TYPE = ARRAY [0..4) OF [0..16);
Stipple8: TYPE = ARRAY [0..8) OF [0..256);
currentTech: CD.Technology←NIL;
cLev: CD.Level ← CD.combined;
Technology:
PROC[tech:
ATOM] =
BEGIN
IF currentTech#NIL THEN ERROR;
currentTech ← CD.FetchTechnology[tech]
END;
End:
PROC [] =
BEGIN
currentTech ← NIL
END;
LevelModify:
PROC[uniqueKey:
ATOM] =
BEGIN
cLev ← CD.FetchLevel[t: currentTech, uniqueKey: uniqueKey];
END;
Level:
PROC[uniqueKey:
ATOM] =
BEGIN
cLev ← CD.FetchLevel[t: currentTech, uniqueKey: uniqueKey];
Forgett[cLev]
END;
LevelNumber:
PROC [lev:
NAT] =
BEGIN
cLev ← lev;
Forgett[cLev]
END;
LevelNumberModify:
PROC [lev:
NAT] =
BEGIN
cLev ← lev
END;
Black8:
PROC [stipple: Stipple8] =
BEGIN
CDProperties.PutPropOnLevel[onto: cLev, prop: $CDxVersatecBlack,
val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple8 ← stipple]
]
END;
Black4:
PROC [stipple: Stipple4] =
BEGIN
CDProperties.PutPropOnLevel[onto: cLev, prop: $CDxVersatecBlack,
val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple4 ← stipple]
]
END;
Cyan8:
PROC [stipple: Stipple8] =
BEGIN
CDProperties.PutPropOnLevel[onto: cLev, prop: $CDxVersatecCyan,
val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple8 ← stipple]
]
END;
Cyan4:
PROC [stipple: Stipple4] =
BEGIN
CDProperties.PutPropOnLevel[onto: cLev, prop: $CDxVersatecCyan,
val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple4 ← stipple]
]
END;
Magenta8:
PROC [stipple: Stipple8] =
BEGIN
CDProperties.PutPropOnLevel[onto: cLev, prop: $CDxVersatecMagenta,
val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple8 ← stipple]
]
END;
Magenta4:
PROC [stipple: Stipple4] =
BEGIN
CDProperties.PutPropOnLevel[onto: cLev, prop: $CDxVersatecMagenta,
val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple4 ← stipple]
]
END;
Yellow8:
PROC [stipple: Stipple8] =
BEGIN
CDProperties.PutPropOnLevel[onto: cLev, prop: $CDxVersatecYellow,
val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple8 ← stipple]
]
END;
Yellow4:
PROC [stipple: Stipple4] =
BEGIN
CDProperties.PutPropOnLevel[onto: cLev, prop: $CDxVersatecYellow,
val: IF stipple=ALL[0] THEN NIL ELSE NEW[Stipple4 ← stipple]
]
END;
Forgett:
PROC [lev:
NAT] =
BEGIN
CDProperties.PutPropOnLevel[onto: lev, prop: $CDxVersatecBlack, val: NIL];
CDProperties.PutPropOnLevel[onto: lev, prop: $CDxVersatecCyan, val: NIL];
CDProperties.PutPropOnLevel[onto: lev, prop: $CDxVersatecMagenta, val: NIL];
CDProperties.PutPropOnLevel[onto: lev, prop: $CDxVersatecYellow, val: NIL];
END;
END.