FTN,L 
C 
C 
C 
CC************************************************************
C (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS    *
C RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
C PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
C OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
CC************************************************************
C 
C 
C 
C      NAME: INTERACTIVE COMMANDS:WHERE,CURCOR,DIGITIZE 
C      SOURCE: 92840 - 18057
C      RELOC:  92840 - 16001
C 
C 
C 
CC*********************************************************** 
C 
      SUBROUTINE INTAC(IND, IGCB,XCORD,YCORD,       
     1IZCRD), 92840-16001 REV.1819 780515 
      INTEGER GRIFX 
      INTEGER CURSR,DIGTZ,POSCR 
      DIMENSION VAR(8),ICODE(2),IBUFR(3),ENDPT(4) 
      DIMENSION IEBUF(4)
      EQUIVALENCE (VAR,A),(VAR(2),B),(VAR(3),C) 
      EQUIVALENCE (VAR(4),D),(VAR(5),X),(VAR(6),Y)
      EQUIVALENCE (VAR(7),X0),(VAR(8),Y0) 
      EQUIVALENCE (ENDPT,G1X),(ENDPT(2),G1Y),(ENDPT(3),G2X) 
      EQUIVALENCE (ENDPT(4),G2Y)
      EQUIVALENCE (ICODE(2),ICD2),(IBUFR(2),IB2),(IBUFR(3),IB3) 
C 
      DATA X0/0./ 
      DATA Y0/0./ 
      DATA CURSR/5403B/ 
      DATA DIGTZ/6003B/ 
      DATA POSCR/25402B/
C     THIS IS THE FUNCTIONAL MODULE FOR PROCESSING THE
C  INTERACTIVE AGL COMMANDS WHERE, CURSOR, DIGITIZE AND POINT.
CCCC
C     THIS CALL ESTABLISHES AN ADDRESS LINK BETWEEN THE GRAPGHICS 
C  PACKAGE AND THE CURRENT GCB AND ALSO CHECKS FOR A SUSPENDED GCB. 
C 
      ISUSP= 0
      CALL GCBIM(99,1,IGCB,ISUSP) 
      IF(ISUSP.NE.0)RETURN
C 
C     GET THE APPROPRIATE CONSTANTS TO CONVERT XCORD AND YCORD
C  TO CURRENT UNIT SYSTEM (UDU'S OR GDU'S). 
C 
      ICD2 = 18 
      ICODE = IADCD(D)
      CALL GCBIM(ICODE,2,VAR,0,1) 
      GO TO(10,20,30,40),IND
C 
C     WHERE - GET LOGICAL PEN POSITION
C 
10    CALL GRSTS(1,600B,IZCRD)
      IF(IZCRD.NE.0)IZCRD = 1 
15    XCORD = (X - B)/A 
      YCORD = (Y - D)/C 
      RETURN
C 
C     CURSOR - GET CURSOR POSITION WITHOUT WAIT 
C 
20    CALL OUTPT(1,CURSR,1) 
25    CALL GCBIM(16,1,IBUFR,3,1)
      X = IBUFR 
      Y = IB2 
      IZCRD = IB3 
      GO TO 15
C 
C     DIGITIZE
C 
30    CALL OUTPT(1,DIGTZ,1) 
      GO TO 25
C 
C     POINTER 
C 
40    X = XCORD * A + B 
      Y = YCORD * C + D 
C 
C     GET HARD CLIP ENDPOINTS 
C 
      IBUFR = POSCR 
      IB2 = GRIFX(X)
      IB3 = GRIFX(Y)
      CALL OUTPT(1,IBUFR,2) 
      RETURN
      END 
      END$
                    