Utility.mesa
Copyright (C) 1981, 1984 Xerox Corporation. All rights reserved.
Author: John Maxwell
last modified: November 24, 1981 9:10 AM
Edited by Doug Wyatt, June 14, 1984 5:37:37 pm PDT
DIRECTORY
Graphics USING [Context, FontRef],
MusicDefs;
Utility: CEDAR DEFINITIONS
= 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
OpenPressDevice: PROC[splines: BOOL] RETURNS[Device.Handle];
ClosePressDevice: PROC[device: POINTER TO Device.Handle];
DrawChar: PROC[dc: Graphics.Context, c: CHARACTER];
DrawLine: PROC[x1, y1, x2, y2: INTEGER];
DrawCubic: PROC[x1, y1, x2, y2, height: INTEGER];
DrawString: PROC[dc: Graphics.Context, s: STRING];
Flash: PROC;
SetFont: PROC[dc: Graphics.Context, font: Graphics.FontRef, size: INTEGER];
*************************************************************************
storage
*************************************************************************
FreeBeam: PROC[b: LONG POINTER TO BeamPTR];
FreeChord: PROC[c: LONG POINTER TO ChordPTR];
FreeNote: PROC[n: LONG POINTER TO NotePTR, p: PiecePTR ← NIL];
FreePiece: PROC[p: POINTER TO PiecePTR];
FreeSync: PROC[s: LONG POINTER TO SyncPTR];
InitStorage: PROC;
NewBeam: PROC RETURNS[p: BeamPTR];
NewChord: PROC RETURNS[p: ChordPTR];
NewNote: PROC RETURNS[p: NotePTR];
NewPiece: PROC[length: CARDINAL ← maxPieceLength] RETURNS[p: PiecePTR];
NewSync: PROC RETURNS[p: SyncPTR];
END.