DIRECTORY Graphics USING [Context, FontRef], MusicDefs; Utility: CEDAR DEFINITIONS = BEGIN OPEN Graphics, MusicDefs; 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]; 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. FUtility.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 ************************************************************************* 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]; ************************************************************************* storage ************************************************************************* Ê=˜šœ ™ Jšœ@™@Jšœ™Jšœ)™)J™2J™—šÏk ˜ Jšœ œ˜"Jšœ ˜ J˜—Jšœ œ ˜Jšœœœ˜!J˜JšœI™IJšœ™JšœI™IJšœJ™JJšœ3™3JšœO™OJ˜JšÏnœœ œœ™Jšž œœœœ ˜(Jš žœœœœœ ˜+Jšž œœ˜Jšžœœœ ˜"Jšžœœœ˜$Jšžœœœ ˜"Jšžœœ œœ˜GJšžœœœ ˜"J˜Jšœ˜—…—t÷