! Routines to allow the use of EDWIN from FORTRAN.

!!!!!!!!!!!!!!!!!!!!!!!!!! Initialisation

%external %routine %spec INITIALISE FOR (%integer DEVICE TYPE)
%external %routine INIT FOR (%integername DT)
   INITIALISE FOR (DT)
%end

!!!!!!!!!!!!!!!!!!!!!!!!!! Output primitives

%external %routine %spec MOVE ABS (%integer X,Y)
%external %routine MOVE A (%integername X, Y)
   MOVE ABS (X, Y)
%end

%external %routine %spec MOVE REL (%integer DX,DY)
%external %routine MOVE R (%integername X, Y)
   MOVE REL (X, Y)
%end

%external %routine %spec LINE ABS (%integer X,Y)
%external %routine LINE A (%integername X, Y)
   LINE ABS (X, Y)
%end

%external %routine %spec LINE REL (%integer DX,DY)
%external %routine LINE R (%integername X, Y)
   LINE REL (X, Y)
%end

%external %routine %spec MARKER ABS (%integer N,X,Y)
%external %routine MARK A (%integername N, X, Y)
   MARKER ABS (N, X, Y)
%end

%external %routine %spec MARKER REL (%integer N,DX,DY)
%external %routine MARK R (%integername N, X, Y)
   MARKER REL (N, X, Y)
%end

%external %routine %spec CHARACTER (%integer SYM)
%external %routine CHAR (%integername SYM)
   CHARACTER (SYM)
%end

!!!!!!!!!!!!!!!!!!!!!!!!!! Control

%external %routine %spec STORE ON (%integer STREAM)
%external %routine STR ON (%integername S)
   STORE ON (S)
%end

%external %routine %spec VIEW ON (%integer STREAM)
%external %routine V ON (%integername S)
   VIEW ON (S)
%end

%external %routine %spec ASPECT RATIOING (%integer MODE)
%external %routine ASPECT RAT (%integername M)
   ASPECT RATIOING (M)
%end

%external %routine %spec WINDOW (%integer XL, XR, YB, YT)
%external %routine F WINDOW (%integername XL, XR, YB, YT)
   WINDOW (XL, XR, YB, YT)
%end

%external %routine %spec VIEW PORT (%integer XL, XR, YB, YT)
%external %routine F VIEW PORT (%integername XL, XR, YB, YT)
   VIEW PORT (XL, XR, YB, YT)
%end

!!!!!!!!!!!!!!!!!!!!!!!!!! Attributes

%external %routine %spec SET COLOUR (%integer COLOUR)
%external %routine S COLOUR (%integername COL)
   SET COLOUR (COL)
%end

%external %routine %spec SET LINE STYLE (%integer STYLE)
%external %routine S LINE STYLE (%integername STYLE)
   SET LINE STYLE (STYLE)
%end

%external %routine %spec SET CHAR SIZE (%integer SIZE)
%external %routine  S CHAR SIZE (%integername S)
   SET CHAR SIZE (S)
%end

%external %routine %spec SET CHAR ROT (%integer ROT)
%external %routine S CHAR ROT (%integername R)
   SET CHAR ROT (R)
%end

%external %routine %spec SET CHAR QUALITY (%integer WHICH)
%external %routine S CHAR QUALITY (%integername W)
   SET CHAR QUALITY (W)
%end

%external %routine %spec SET CHAR FONT (%integer WHICH)
%external %routine S CHAR FONT (%integername W)
   SET CHAR FONT (W)
%end

%external %routine %spec SET INTENSITY (%integer WHICH)
%external %routine S INTENSITY (%integername W)
   SET INTENSITY (W)
%end

!!!!!!!!!!!!!!!!!!! GENERAL DEVICE DRIVER

%EXTERNAL %ROUTINE %SPEC DRIVE DEV (%INTEGER COM, X, Y)
%EXTERNAL %ROUTINE F DRIVE DEV (%INTEGERNAME C, X, Y)
   DRIVE DEV (C, X, Y)
%END

!!!!!!!!!!!!!!!!!!! NO STUFF FOR T4000, B550, C963, VT15

!!!!!!!!!!!!!!!!!!! STUFF FOR HP PLOTTER

%external %routine %spec HP AC ARC (%integer RAD, IA, FA)
%external %routine F HP AC ARC (%integername RAD, IA, FA)
   HP AC ARC (RAD, IA, FA)
%end

%external %routine %spec HP C ARC (%integer RAD, IA, FA)
%external %routine F HP C ARC (%integername RAD, IA, FA)
   HP C ARC (RAD, IA, FA)
%end

%external %routine %spec HP CIRCLE (%integer RAD)
%external %routine F HP CIRCLE (%integername RAD)
   HP CIRCLE (RAD)
%end

%external %routine %spec HP SPEED (%integer SP)
%external %routine F HP SPEED (%integername SP)
   HP SPEED (SP)
%end

!!!!!!!!!!!!!!!!!!!!!!!!! STUFF FOR CHARLES

%external %routine %spec SET COLOUR MAP (%integer A, B, C, D)
%external %routine F SET COLOUR MAP (%integername A, B, C, D)
   SET COLOUR MAP (A, B, C, D)
%end

%END %OF %FILE

