-- December 7, 1982 3:20 pm
-- JunoGraphics.mesa coded July 1982 by Donna M. Auguste & Greg Nelson

DIRECTORY Graphics, GraphicsOps, ViewerClasses, Rope, Terminal, VFonts;

JunoGraphics: DEFINITIONS =
  BEGIN 
     DcGetsPressContext: PUBLIC PROC[filename: Rope.ROPE];
     DcGetsScreenContext: PUBLIC PROC;
     GetNewFont: PUBLIC PROC;
     DrawPattern: PUBLIC PROC[p:Terminal.BWCursorBitmap, x, y: REAL];
     Hylite: PUBLIC PROC[x,y: INTEGER, d:INTEGER];
     RopeBox: PUBLIC PROC[myRope: Rope.ROPE]
                            RETURNS [REAL, REAL, REAL, REAL];
     CharWidth: PUBLIC PROC[char: CHAR] RETURNS [REAL, REAL];
     -- MoveTo: PUBLIC PROC[newx, newy: INTEGER];
     DrawChar: PUBLIC PROC [char: CHAR, x, y: REAL];
     DrawRope: PUBLIC PROC [myRope: Rope.ROPE, x, y: REAL];
     PaintMe: PUBLIC ViewerClasses.PaintProc;
     Whiten: PUBLIC PROC;
     SetPaintMode: PUBLIC PROC [mode: Graphics.PaintMode];
     DrawPoint: PUBLIC PROC[x, y: INTEGER];
     DrawEdge: PUBLIC PROC[x1, y1, x2, y2: REAL];
     DrawArc: PUBLIC PROC[x1, y1, x2, y2, x3, y3, x4, y4: REAL];
     DrawString: PUBLIC PROC[x3, y3: REAL, 
                                myRope: Rope.ROPE, 
                                stringFont: Graphics.FontRef ← myfont,
                                fontName: Rope.ROPE,
                                fontSize: INT,
                                bold, italic: BOOL];
     Log: PUBLIC PROC [item1, item2, item3, item4,
                                      item5:  Rope.ROPE ← NIL];
     Blink: PUBLIC PROC[item1, item2, item3, item4, item5:  Rope.ROPE ← NIL];                             
     viewerChanged: PUBLIC BOOLEAN; 
     myfont: PUBLIC Graphics.FontRef;
     fontHeight : PUBLIC INTEGER;
     currentFont: PUBLIC Rope.ROPE;
     currentPointSize: PUBLIC INT; 
     currentBold: PUBLIC BOOL;
     currentItalic: PUBLIC BOOL;

     cursorOffsetY: PUBLIC REAL;         
     
     BeginStroke: PUBLIC PROC;
     EdgeStroke: PUBLIC PROC[x1, y1, x2, y2: REAL];
     ArcStroke: PUBLIC PROC[x1, y1, x2, y2, x3, y3, x4, y4: REAL];
     DrawStroke: PUBLIC PROC;
     DrawArea: PUBLIC PROC;
     PushColor: PUBLIC PROC[a: REF];
     PopColor: PUBLIC PROC;
     PushEnds: PUBLIC PROC[a: REF];
     PopEnds: PUBLIC PROC;
     PushWidth: PUBLIC PROC[r: REAL];
     PopWidth: PUBLIC PROC;             
                                
   END.