{ EDWIN routine specs added } %end %of %list ! Routines for initialisation and termination %external %routine %spec INITIALISE FOR %alias "EDWIN_INIT" (%integer DEVICE TYPE) %external %routine %spec TERMINATE EDWIN %alias "EDWIN_TERM" ! Output primitives %external %routine %spec MOVE ABS %alias "EDWIN_MOVE_ABS" (%integer X, Y) %external %routine %spec MOVE REL %alias "EDWIN_MOVE_REL" (%integer DX, DY) %external %routine %spec LINE ABS %alias "EDWIN_LINE_ABS" (%integer X, Y) %external %routine %spec LINE REL %alias "EDWIN_LINE_REL" (%integer DX, DY) %external %routine %spec MARKER ABS %alias "EDWIN_MARK_ABS" (%integer N, X, Y) %external %routine %spec MARKER REL %alias "EDWIN_MARK_REL" (%integer N, DX, DY) %external %routine %spec CHARACTER %alias "EDWIN_CHAR" (%integer SYM) ! Text output %external %routine %spec TEXT %alias "EDWIN_TEXT" (%string (255) ST) %external %routine %spec TEXT COLOUR ESCAPE %alias "EDWIN_TEXT_COL_ESC" (%integer CH) %external %routine %spec TEXT FONT ESCAPE %alias "EDWIN_TEXT_FONT_ESC" (%integer CH) ! Control %external %routine %spec NEW FRAME %alias "EDWIN_NEW_FRAME" %external %routine %spec UPDATE %alias "EDWIN_UPDATE" %external %routine %spec CLIP ON %alias "EDWIN_CLIP_ON" %external %routine %spec CLIP OFF %alias "EDWIN_CLIP_OFF" %external %routine %spec STORE ON %alias "EDWIN_STORE_ON" (%integer STREAM) %external %routine %spec STORE OFF %alias "EDWIN_STORE_OFF" %external %routine %spec VIEW ON %alias "EDWIN_VIEW_ON" (%integer STREAM) %external %routine %spec VIEW OFF %alias "EDWIN_VIEW_OFF" %external %routine %spec ASPECT RATIOING %alias "EDWIN_ASPECT_RATIO" (%integer MODE) %external %routine %spec WINDOW %alias "EDWIN_WINDOW" (%integer XL, XR, YB, YT) %external %routine %spec VIEWPORT %alias "EDWIN_VIEWPORT" (%integer XL, XR, YB, YT) ! Attributes %external %routine %spec SET COLOUR %alias "EDWIN_SET_COLOUR" (%integer COLOUR) %external %routine %spec SET COLOUR MODE %alias "EDWIN_SET_COL_MODE" (%integer MODE) %external %routine %spec SET MARKER SIZE %alias "EDWIN_SET_MARK_SIZE" (%integer S) %external %routine %spec SET LINE STYLE %alias "EDWIN_SET_STYLE" (%integer STYLE) %external %routine %spec SET CHAR SIZE %alias "EDWIN_SET_CHAR_SIZE" (%integer SIZE) %external %routine %spec SET CHAR ROT %alias "EDWIN_SET_CHAR_ROT" (%integer ROT) %external %routine %spec SET CHAR QUALITY %alias "EDWIN_SET_CHAR_QUAL" (%integer WHICH) %external %routine %spec SET CHAR FONT %alias "EDWIN_SET_CHAR_FONT" (%integer WHICH) %external %routine %spec SET CHAR SLANT %alias "EDWIN_SET_CHAR_SLANT"(%integer ANGLE) %external %routine %spec SET SPEED %alias "EDWIN_SET_SPEED" (%integer SPEED) %external %routine %spec SET CHORD STEP %alias "EDWIN_SET_CHORD_STEP"(%integer NUM) %external %routine %spec SET SHADE MODE %alias "EDWIN_SET_SHADE_MODE"(%integer MODE) ! Miscellaneous routines %external %routine %spec REVIEW %alias "EDWIN_REVIEW" %external %routine %spec INQUIRE POSITION %alias "EDWIN_INQ_POSITION" (%integer %name X, Y) %external %routine %spec INQUIRE WINDOW %alias "EDWIN_INQ_WINDOW" (%integer %name XL, XR, YB, YT) %external %routine %spec INQUIRE VIEWPORT %alias "EDWIN_INQ_VIEWPORT" (%integer %name XL, XR, YB, YT) %external %routine %spec MAP TO DEVICE COORDS %alias "EDWIN_MAP_TO_DCS" (%integer %name X, Y) %external %routine %spec MAP TO VIRTUAL COORDS %alias "EDWIN_MAP_TO_VCS" (%integer %name X, Y) %external %string (63) %fn %spec EDWIN ERROR %alias "EDWIN_ERROR" (%integer X) ! Input primitives %external %routine %spec REQUEST INPUT %alias "EDWIN_REQUEST" (%integer %name STATE, X, Y) %external %routine %spec SAMPLE INPUT %alias "EDWIN_SAMPLE" (%integer %name STATE, X, Y) %external %routine %spec AREA INPUT %alias "EDWIN_AREA" (%integer %name XL, YB, XR, YT) ! Device specifics %external %routine %spec REQUEST DEVICE %alias "EDWIN_REQUEST_DEV" (%integer %name STATE, X, Y) %external %routine %spec SAMPLE DEVICE %alias "EDWIN_SAMPLE_DEV" (%integer %name STATE, X, Y) %external %routine %spec AREA DEVICE %alias "EDWIN_AREA_DEV" (%integer %name XL, YB, XR, YT) %external %routine %spec DRIVE DEVICE %alias "EDWIN_DRIVE_DEV" (%integer COM, X, Y) %external %integer %fn %spec DEFAULT DEVICE %alias "EDWIN_DEFAULT_DEV" %record %format DEVICE DATA FM (%integer DEV NO { logical device number }, %string (31) NAME { Text name for the device }, %integer TYPE { Model number of the device }, %integer ARF { Aspect Rationing Factor as a percentage }, %integer DVX, DVY { Default Viewport X and Y }, %integer MVX, MVY { Maximum Viewport X and Y }, %short UNITS PER CM { Units per Centimeter ( =0 => interacts) }, %byte MAX COLOUR { Maximum number of colours available }, %byte MAX STYLES { Maximum number of line styles available }, %byte MAX SPEED { Maximum speed (cm/s) }, %byte NUM CHAR SIZES { Number of character sizes (255 => any) }, %byte NUM CHAR FONTS { Number of character fonts available }, %byte NUM CHAR SLANTS { Number of character slant positions 0/* }, %byte NUM CHAR ROTS { Number of rotations of chars 0, 4, 8, * }) %external %record (DEVICE DATA FM) %map %spec DEVICE DATA %alias "EDWIN_DEVICE_DATA" %list;%end %of %file