-- Compiler PressDefs/n
-- Dawson, July 9, 1979 9:09 AM
--Tiberi November 7, 1979 8:27 PM
-- interface module for press file creation
-- Last Edited by: Stone, February 10, 1983 10:21 am

DIRECTORY
 StyleDefs: FROM "StyleDefs",
 GriffinFontDefs: FROM "GriffinFontDefs",
 Rope USING [ROPE];

PressDefs: DEFINITIONS =

BEGIN

X: CARDINAL = 1;
Y: CARDINAL = 2;
maxPressDistance: CARDINAL = 30000;

PressCoord: TYPE = CARDINAL [0 .. maxPressDistance];
PressCoords: TYPE = ARRAY [X .. Y] OF PressCoord;

ColorDescriptor: TYPE = RECORD -- defaults to black
 [hue: [0 .. 255] ← 0, saturation: [0 .. 255] ← 0, brightness: [0 .. 255] ← 0];

PressFloat: TYPE = REAL; --SirPress will convert it to BCPL floatingpoing

PressSpline: TYPE = RECORD [x1,y1,x2,y2,x3,y3: PressFloat];

BeginPress: PROCEDURE [filestring: Rope.ROPE];

EndPress: PROCEDURE;

ShowText: PROCEDURE [color: ColorDescriptor, textstring: Rope.ROPE, presscoords: PressCoords, orientation: StyleDefs.Orientation, anchor: StyleDefs.Anchor,font: GriffinFontDefs.FontDescriptorHandle];

ShowRectangle: PROCEDURE [color: ColorDescriptor, presscoords: PressCoords, width, height: PressCoord];

BeginObject: PROCEDURE [color: ColorDescriptor];

EndObject: PROCEDURE;

MoveTo, DrawTo: PROCEDURE [presscoords: PressCoords];

DrawCurve: PROCEDURE [spline: PressSpline];

PressError: SIGNAL;

END.