{ EDWIN procedure specs in PASCAL format.}

{ Routines for initialisation and termination}
procedure initialise_for ( devicetype : integer); extern;
procedure terminate_edwin; extern;

{ Output primitives}
procedure move_abs ( x, y : integer); extern;
procedure move_rel ( dx, dy : integer); extern;
procedure line_abs ( x, y : integer); extern;
procedure line_rel ( dx, dy : integer); extern;
procedure marker_abs ( n, x, y : integer); extern;
procedure marker_rel ( n, dx, dy : integer); extern;
procedure character ( sym : char); extern;

{ Control}
procedure newframe; extern;
procedure update; extern;
procedure store_on ( stream : integer); extern;
procedure store_off; extern;
procedure view_on ( stream : integer); extern;
procedure view_off; extern;
procedure aspectratioing ( mode : integer); extern;
procedure window ( xl, xr, yb, yt : integer); extern;
procedure viewport ( xl, xr, yb, yt : integer); extern;

{ Attributes}
procedure set_colour ( colour : integer); extern;
procedure set_line_style ( style : integer); extern;
procedure set_char_size ( size : integer); extern;
procedure set_char_rot ( rot : integer); extern;
procedure set_char_quality ( which : integer); extern;
procedure set_char_font ( which : integer); extern;
procedure set_char_slant ( which : integer); extern;
procedure set_intensity ( which : integer); extern;
procedure set_speed ( which : integer); extern;

{ Miscellaneous routines}
procedure inquire_position (var x, y : integer); extern;
procedure inquire_window (var xl, xr, yb, yt : integer); extern;
procedure inquire_viewport (var xl, xr, yb, yt : integer); extern;
procedure map_to_device_coords (var x, y : integer); extern;
procedure map_to_virtual_coords (var x, y : integer); extern;
procedure drive_dev ( com, x, y : integer); extern;
procedure cursor (var state, x, y : integer); extern;

