-- StrawDefs.mesa
-- Written by Joe Maleson
-- Last changed by Doug Wyatt, October 22, 1980 3:54 PM

DIRECTORY
GraphicsDefs,
AltoFileDefs,
PressDefs;

StrawDefs: DEFINITIONS =
BEGIN

EntityBox
: TYPE = RECORD
[
Box: GraphicsDefs.Box,
Object: POINTER TO PressDefs.PressObject
];

DotObject: TYPE = RECORD
[
Box: GraphicsDefs.Box,
Object: POINTER TO PressDefs.PressObject,
DotsData: POINTER TO PressDefs.PressDotsData
];

RectangleParams
: TYPE = RECORD
[
micaWidth,micaHeight: CARDINAL
];

FontParams: TYPE = RECORD
[
spaceX,font: CARDINAL
];

FontListEntry: TYPE = RECORD
[
link: POINTER TO FontListEntry,
n: CARDINAL,
strike: POINTER TO GraphicsDefs.StrikeFont,
mode: GraphicsDefs.textMode,
width: POINTER TO ARRAY CHARACTER [0C..255C] OF CARDINAL,
index: CARDINAL,
PressFontEntry: PressDefs.FontEntry
];

WaitCursor: PUBLIC PROCEDURE;

NormalCursor
: PUBLIC PROCEDURE;

Refresh
: PROCEDURE;

GetNum
: PUBLIC PROCEDURE [prompt: STRING] RETURNS [CARDINAL];

GetNumWithDefault
: PUBLIC PROCEDURE [prompt: STRING,default: CARDINAL] RETURNS [CARDINAL];

GetString: PUBLIC PROCEDURE [s,prompt: STRING];

CreateDotsBox: PUBLIC PROCEDURE [do: POINTER TO DotObject];

CreateObjectBox: PUBLIC PROCEDURE [eBox: POINTER TO EntityBox];

DisplayCoord: PROCEDURE [x,y: CARDINAL] RETURNS [dispX,dispY: CARDINAL];

PageCoord
: PROCEDURE [dispX,dispY: CARDINAL] RETURNS [x,y: CARDINAL];

ReleaseEntityBox: PROCEDURE [eBox: POINTER TO EntityBox,erase: BOOLEAN];

SetGrid: PUBLIC PROCEDURE;

RestoreGrid: PROCEDURE [currentBox: POINTER TO GraphicsDefs.Box];

DisplayPressPage: PROCEDURE [p: POINTER TO PressDefs.PressPage];

SelectFile: PUBLIC PROCEDURE;

AddFile: PUBLIC PROCEDURE;

NewPage: PUBLIC PROCEDURE;

WriteFile: PUBLIC PROCEDURE;

EditDisplayList: PROCEDURE ;

EditGrayImage: PROCEDURE [do: POINTER TO DotObject];

GetFont: PROCEDURE [n: CARDINAL] RETURNS [strike: POINTER TO GraphicsDefs.StrikeFont,mode: GraphicsDefs.textMode,width: POINTER TO ARRAY CHARACTER [0C..377C] OF INTEGER,index: CARDINAL];

GetPressFontEntry: PROCEDURE [index: CARDINAL] RETURNS [POINTER TO PressDefs.FontEntry];

GetFontListHandle: PROCEDURE RETURNS[POINTER TO FontListEntry];

ReleaseFontStorage: PROCEDURE;

PressPageFromDisplayList: PROCEDURE [file: STRING];

--
from ScrapMagnify

StartMagnifier: PROCEDURE [Index,Gray: CARDINAL];
ShowMagnifier: PROCEDURE;
StopMagnifier: PROCEDURE;
SetMagnification: PROCEDURE [bitsPerInch: CARDINAL];
SetMagnifierPosition: PROCEDURE [x,y: CARDINAL];
SetMagnifierSize: PROCEDURE [width,height: CARDINAL];
ModifyMagnifier: PROCEDURE [x,y: CARDINAL] RETURNS [BOOLEAN];
MagToScreenCoords: PROCEDURE [x,y: CARDINAL] RETURNS [rx,ry: CARDINAL];
MagToMicaCoords: PROCEDURE [x,y: CARDINAL] RETURNS [rx,ry: CARDINAL];
ScreenToMagCoords: PROCEDURE [x,y: CARDINAL] RETURNS [rx,ry: CARDINAL];
END.