-- GriffinToTA.mesa
-- Read Griffin files and convert to Tioga Artwork files
-- Rick Beach, June 27, 1982 11:17 am
-- Maureen Stone December 9, 1982 4:55 pm

DIRECTORY
 GFileFormatDefs USING [GFileFont, GFileStyle, GFileObject],
 NameSymbolTable USING [Name],
 PairList USING [Relation],
 Rope USING [ROPE],
 Graphics USING [Path],
 Vector USING [Vec];

GriffinToTA: DEFINITIONS = {

ROPE: TYPE = Rope.ROPE;

GriffinFileError: SIGNAL[why: ROPE];

ViewType: TYPE = {main, alternate, both};
FontRef: TYPE = REF GFileFormatDefs.GFileFont;
StyleRef: TYPE = REF GFileFormatDefs.GFileStyle;
ObjectRef: TYPE = REF GFileFormatDefs.GFileObject;
PathRef: TYPE = Graphics.Path;
CaptionRef: TYPE = REF CaptionRec;
CaptionRec: TYPE = RECORD [
 position: Vector.Vec,
 text: ROPE];
ColorRef: TYPE = REF ColorRec;
ColorRec: TYPE = RECORD [
 next: ColorRef,
 name: ROPE,
 h, s, b: REAL];
PathStyleRef: TYPE = REF PathStyleRec;
PathStyleRec: TYPE = RECORD [ -- empty fields are NIL or 0
 next: PathStyleRef,
 name: NameSymbolTable.Name,
 areaColor: ColorRef,
 outlineColor: ColorRef,
 pathType: ROPE,
 lineWeight: REAL];
CaptionStyleRef: TYPE = REF CaptionStyleRec;
CaptionStyleRec: TYPE = RECORD [ -- empty fields are NIL or 0
 next: CaptionStyleRef,
 name: NameSymbolTable.Name,
 family: ROPE,
 size: REAL,
 face: ROPE,
 charRotation: ROPE,
 lineFormatting: ROPE,
 textColor: ColorRef];

fontMap: PairList.Relation; -- <fontNumber, FontRef>
styleMap: PairList.Relation; -- <styleNumber, StyleRef>
objectMap: PairList.Relation; -- <objectNumber, ObjectRef>
pathMap: PairList.Relation; -- <objectNumber, PathRef>
captionMap: PairList.Relation; -- <objectNumber, CaptionRef>
clusterMap: PairList.Relation; -- <clusterNumber, objectNumber>

firstCluster, lastCluster: CARDINAL;
colors: ColorRef;
colorNumber: CARDINAL;
pathStyles: PathStyleRef;
pathStyleNumber: CARDINAL;
captionStyles: CaptionStyleRef;
captionStyleNumber: CARDINAL;

ConvertFile: PROCEDURE[fileName: ROPE, view: ViewType];
ConvertFileToJaM: PROCEDURE[fileName: ROPE, view: ViewType];


}.