C
C SUBROUTINE 'QGDRAW'
C ===================
C
C DRAW VECTOR ON GRAPHICS SCREEN (QGINIT MUST HAVE BEEN CALLED)
C AN INITIAL CALL TO QGMOVE MUST BE MADE BEFORE THE QGDRAW CALL(S)
C
      SUBROUTINE QGDRAW(X,Y)
C
C PARAMETERS
C
C     X (I)   X POSITION IN PIXELS 0.0 TO 1023.0 (OR MAPPED COORDINATE IF
C                        'QGMAPC' HAS BEEN CALLED)
C     Y (I)   Y POSITION IN PIXELS 0.0 TO 767.0(OR MAPPED COORDINATE IF
C                        'QGMAPC' HAS BEEN CALLED)
C
C
C SPECIFICATION STATEMENTS
C ------------------------
C
      CHARACTER*1 MODE, ESC, GS, US, FS, CR, FF, SUB
      COMMON /QQCHR/ MODE, ESC, GS, US, FS, CR, FF, SUB
      CHARACTER*4 POS
      LOGICAL PSET
      COMMON /QQLAST/ PSET, KXH, KXL, KYH, KYL
      LOGICAL PSCRIP, PSON
      COMMON /QQPS/ PSCRIP, PSON, LUNP
      CHARACTER*5 SAVSTR
      COMMON /QQSAV/ SAVSTR
      COMMON /QQSAVN/ NSAV
      SAVE /QQCHR/,/QQLAST/,/QQPS/,/QQSAV/,/QQSAVN/
C
C CODE
C ----
C
      CALL QGMPXY(X,Y,XP,YP)
      IX = NINT (XP)
      IY = NINT (YP)
      IF (IX.LT.0) IX = 0
      IF (IX.GT.1023) IX = 1023
      IF (IY.LT.0) IY = 0
      IF (IY.GT.767) IY = 767
      IF (MODE.NE.'V') RETURN
      JXH = IX/32
      JYH = IY/32
      JXL = IX-32*JXH
      JYL = IY-32*JYH
      IF (PSET) THEN
         N=1
         IF (JYH.NE.KYH) THEN
            POS(N:N) = CHAR(JYH+32)
            N = N+1
         ENDIF
         IF (JYL.NE.KYL .OR. JXH.NE.KXH) THEN
            POS(N:N) = CHAR(JYL+96)
            N = N+1
         ENDIF
         IF (JXH.NE.KXH) THEN
            POS(N:N) = CHAR(JXH+32)
            N = N+1
         ENDIF
         POS(N:N) = CHAR(JXL+64)
         CALL QGSEND (POS(1:N))
         SAVSTR = POS(1:N)
         NSAV = N
      ELSE
         POS(1:1) = CHAR(JYH+32)
         POS(2:2) = CHAR(JYL+96)
         POS(3:3) = CHAR(JXH+32)
         POS(4:4) = CHAR(JXL+64)
         CALL QGSEND (POS)
         SAVSTR = POS  
         NSAV = 4
      ENDIF
      PSET = .TRUE.
      KXH = JXH
      KXL = JXL
      KYH = JYH
      KYL = JYL
      IF (.NOT.PSCRIP) RETURN
      IF (.NOT.PSON) RETURN
      WRITE (LUNP,1001) XP,YP
      RETURN
C
C FORMAT STATEMENTS
C -----------------
C
1001  FORMAT (2F7.1,' L')
      END
