Trailing-Edge
-
PDP-10 Archives
-
decuslib20-04
-
decus/20-0125/dot.for
There is 1 other file named dot.for in the archive. Click here to see a list.
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