-- 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..