-- File CIFRamtekUtilsDefs.mesa
-- Written by Rich Pasco, September, 1981
-- Last updated: December 6, 1981 5:58 PM
DIRECTORY
CIFRamtekTypeDefs: FROM "CIFRamtekTypeDefs" USING [Edge];
CIFRamtekUtilsDefs: DEFINITIONS =
BEGIN OPEN CIFRamtekTypeDefs;
RStripeWidth: CARDINAL = 918; --***pixels per scanline
RamtekNextStripe: PUBLIC PROCEDURE;
OutputStripesUntil: PUBLIC PROCEDURE[y: REAL];
VersatecMakeEdge: PUBLIC PROCEDURE [xstart,ystart,xend,yend: REAL, up: BOOLEAN]
RETURNS[edge: Edge];
RamtekAllocateStripes: PUBLIC PROCEDURE;
RamtekOutStripe: PUBLIC PROCEDURE;
RamtekClearStripe: PUBLIC PROCEDURE[overlap: BOOLEAN];
--If overlap then copy line number VStripeHeight to line number 0 and
-- clear lines 1..VStripeHeight inclusive, otherwise
-- clear lines 0..VStripeHeight inclusive
LoadStipple: PUBLIC PROCEDURE[layer:CARDINAL, v0,v1,v2,v3: CARDINAL];
AllocateVerticalEdge: PUBLIC PROCEDURE RETURNS[Edge];
AllocateObliqueEdge: PUBLIC PROCEDURE RETURNS[Edge];
FreeEdge: PUBLIC PROCEDURE[edge: Edge];
EdgeLessThan: PUBLIC PROCEDURE[e1,e2: Edge, y: REAL] RETURNS[BOOLEAN];
--orders up/down within slope within x
XatY: PUBLIC PROCEDURE[edge: Edge, y: REAL] RETURNS[x: REAL];
InitRamtekOut: PUBLIC PROCEDURE[fileName: STRING, height: CARDINAL];
FinishRamtekOut: PUBLIC PROCEDURE[y: REAL];
HorColorLine: PUBLIC PROCEDURE[xleft,xright,y: REAL, layer: CARDINAL];
DrawTrap: PUBLIC PROCEDURE[left: Edge, ystart: REAL, right: Edge, yend: REAL, layer: CARDINAL];
END.