-- Author: John Maxwell
-- Last Edited by: Maxwell, November 22, 1983 10:10 am

DIRECTORY
	-- Device USING [Handle], 
	Graphics USING [Context, FontRef], 
	MusicDefs: FROM "MusicDefs";

Utility: DEFINITIONS
	IMPORTS MusicDefs = 
BEGIN
OPEN Graphics, MusicDefs;

-- *************************************************************************
-- graphics
-- *************************************************************************
-- these procedures know nothing about the sheet.  They assume an x, y plane.
-- print => the music should be drawn on a press file.
-- printChar => the music should be drawn using the music font rather than splines

-- ClosePressDevice: PROCEDURE[device: POINTER TO Device.Handle];
DrawChar: PROC[dc: Context, c: CHARACTER];
DrawLine: PROC[dc: Context, x1, y1, x2, y2: INTEGER];
DrawCubic: PROC[dc: Context, x1, y1, x2, y2, height: INTEGER];
DrawString: PROC[dc: Context, s: STRING];
Flash: PROCEDURE[dc: Context];
-- OpenPressDevice: PROCEDURE[splines: BOOLEAN] RETURNS[Device.Handle];
SetFont: PROC[dc: Context, font: FontRef, size: INTEGER];

-- *************************************************************************
-- storage
-- *************************************************************************

NewSegment: PROC[size, max, maxOffset: CARDINAL] 
	RETURNS[LONG POINTER]; -- allocates 'size' words, segment.maxOffset ← max;
FreeSegment: PROC[p: LONG POINTER];

-- FreeNote: PROC[score: ScorePTR, note: NotePTR];

END..