{ EDWIN internal procedures for device driver support } %end %of %list ! EMAS specifics - %dynamic %integer %fn %spec REM %alias "IMP_REM" (%integer A, B) %dynamic %string (255) %fn %spec ItoS %alias "IMP_I_TO_S" (%integer I, P) %dynamic %string (255) %fn %spec RtoS %alias "IMP_R_TO_S" (%long %real R, %integer A, B) %dynamic %routine %spec Open Output %alias "IMP_OPEN_OUTPUT" (%integer N, %string (255) S) %dynamic %routine %spec Close Output %alias "IMP_CLOSE_OUTPUT" %dynamic %routine %spec OPER MESSAGE %alias "EDWIN_OPER_MESSAGE" (%string (255) S) %dynamic %routine %spec OPER INTERACT %alias "EDWIN_OPER_INTERACT" (%string (255) S) %external %integer %spec VIEWING %alias "EDWIN___VIEWING" %dynamic %routine %spec TEK INPUT %alias "EDWIN___TEK_INPUT" (%integer %name State, X, Y, %integer INVOKE CURSOR) %record %format DEV 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 (DEV DATA FM) %spec DEV DATA %alias "EDWIN___DEVICE_DATA" %dynamic %routine %spec TTMODE %alias "EDWIN_TTMODE" (%integer MODE) %dynamic %routine %spec TTPUT %alias "EDWIN_TTPUT" (%integer CH) %dynamic %routine %spec FLUSH OUTPUT %alias "EDWIN_FLUSH" %dynamic %integer %fn %spec TTGET %alias "EDWIN_TTGET" %dynamic %integer %fn %spec TTREAD %alias "EDWIN_TTREAD" %dynamic %routine %spec SET IN %alias "EDWIN_SET_IN" (%string(15) TERM) %dynamic %routine %spec SET OUT %alias "EDWIN_SET_OUT" (%string(15) TERM) %const %integer NON TERMINAL DEFAULT = 13 %list;%end %of %file