--Griffin style types and manipulating routines
-- Stone+Tiberi October 18, 1979  11:16 AM

StyleDefs: DEFINITIONS   =
BEGIN
Color: TYPE = RECORD [hue,saturation,brightness: [0..255]];

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};

Orientation: TYPE = {or0,or90,or180,or270};

StyleHandle: TYPE = POINTER TO Style;

Style: TYPE = RECORD
	[
	next: StyleHandle,
	color: Color,		--major color
	dashed: DashPattern,
	firstend,lastend: LineEnd,
	junctiontype: JunctionType,
	width: REAL,
	fillcolor: Color,
	filled: BOOLEAN,
	outlined: BOOLEAN,
	anchor: Anchor,
	orientation: Orientation,
	fontid: [0..200],
	fillbackgnd: BOOLEAN,
	backgndcolor: Color,
	name: STRING	--stylename
	];

lStyle: CARDINAL = SIZE [Style];

CurrentStyle: PROCEDURE RETURNS [StyleHandle];


END.