SUBROUTINE DOT(N, FILE, X, Y) C************************************************************ C C THIS ROUTINE INSERTS AN ENABLED DOT AT USER (X, Y) C A CALL TO DOT INSERTS AN INVISIBLE VECTOR TO THE C POINT (X, Y) FOLLOWED BY A RELATIVE POINT C C POSSIBLE ERRORS: C NONE C C ROUTINES CALLED: C MOVE - AN INVISIBLE VECTOR C SETGM - RETURNS AN S.G.M. INSTRUCTION C ADWORD - ADDS A WORD TO THE DISPLAY FILE C C************************************************************ IMPLICIT INTEGER (A - W, Z) INTEGER FILE(N) REAL USERX, USERY LOGICAL LP, BLINK COMMON /MODBLK/ MODE, INT, LP, BLINK, LINE, OLDSGM COMMON /SCLBLK/ XMIN, YMIN, XMAX, YMAX, BEAMX, BEAMY BEAMX = FILE(2) BEAMY = FILE(3) OLDSGM = FILE(4) XX = USERX(IPHYSX(X) - 1) YY = USERY(IPHYSY(Y) - 1) CALL MOVE(N, FILE, XX, YY) MODE = "6 OLDSGM = SETGM(MODE, INT, LP, BLINK, LINE) CALL ADWORD(N, FILE, OLDSGM) CALL ADWORD(N, FILE, "40201) BEAMX = BEAMX + 1 BEAMY = BEAMY + 1 FILE(2) = BEAMX FILE(3) = BEAMY FILE(4) = OLDSGM RETURN END