Griffin style types and manipulating routines
Stone+Tiberi October 18, 1979 11:16 AM
Last Edited by: Stone, January 19, 1983 3:52 pm
DIRECTORY
Rope USING [ROPE],
Imager USING [Font],
ImagerColor USING [HSV];
StyleDefs: CEDAR DEFINITIONS =
BEGIN
Color: TYPE = ImagerColor.HSV;
Font: TYPE = Imager.Font;
JunctionType: TYPE = {round,square,angled};
EndType: TYPE = {round,cyclic,flat,angled};
LineEnd: TYPE = RECORD [type: EndType, dx,dy,a,b,c: REAL];
DashPattern: TYPE = {undashed,dash1,dash2,dash3,dash4,dash5};
Anchor: TYPE = {left,right,center};
StringRotation: TYPE = {or0,or90,or180,or270};
StringType: TYPE = {normal, stack};
StyleHandle: TYPE = REF Style;
Style: TYPE = RECORD
[
color: Color ← [0,0,0],  --major color
dashed: DashPattern ← undashed,
firstend,lastend: LineEnd ← [round, 0, 0, 0, 0, 0],
junctiontype: JunctionType ← round,
width: REAL ← 1,
fillcolor: Color ← [0,0,0],
filled: BOOLEAN ← FALSE,
outlined: BOOLEAN ← TRUE,
anchor: Anchor ← left,
stringRotation: StringRotation ← or0,
stringType: StringType ← normal,
font: Font ← NIL,
fillbackgnd: BOOLEAN ← FALSE,
backgndcolor: Color ← [0,0,0],
name: Rope.ROPE--stylename
];
lStyle: CARDINAL = SIZE [Style];
CurrentStyle: PROCEDURE RETURNS [StyleHandle];
END.