SUBROUTINE GIN(X,Y,UTYPED) C C This subroutine will display a prompt for input and then read C the position of the pen. For either a Tektronix 4010 or 4014 C the prompt are the crosshairs; for a Tektronix 4662, the C prompt light; for a Tektronix 4025, the GIN capability is not C supported, X, Y are returned at the screen center, UTYPED = 'U'. C C X, Y Postion of the pen in scale inches relative to the C relocatable origin. Can be converted into units of the C axes by SUBROUTINE NTSP. C UTYPED Character typed if a Tektronix 4010 or 4014. For a C Tektronix 4662, UTYPED = 'D' if the pen was down, C 'U' if the pen was up. C COMMON /PLTR/ ILun, IDev, IsTerm, IMode, IXMax, IYMax, 1 Cnvrsn, CMag, CnvMag, IX0, IY0, KSetNo, IFancy, IBfDv3, 1 CSize, DeltaH, DeltaV, Upsiln, CosUp, SinUp, WidAdj LOGICAL*1 UTYPED, XHAIRS(2), LITE(3), B(7), UD(2) INTEGER IB(7) DATA XHAIRS/"33,"32/, LITE/"33,'A','K'/, UD/'U','D'/ C GO TO (100,100,1100,2200) IDev C C - TEKTRONIX 4010 AND 4014. 100 NIN = 7 CALL TOUTIN(XHAIRS,2,B,NIN,"0) IF( NIN .NE. 5 ) GO TO 100 CALL TOUTPT( "15 ) DO 1000 I=2,5 1000 IB(I) = B(I) IX = MOD(IB(2),32)*32+MOD(IB(3),32) IY = MOD(IB(4),32)*32+MOD(IB(5),32) UTYPED = B(1) IF( IDev .EQ. 1 ) GO TO 2100 IX = IX*4 IY = IY*4 GO TO 2100 C 1100 LITE(3) = "113 NIN = 7 CALL TOUTIN(LITE,3,B,NIN,"0) IF( NIN .NE. 7 ) GO TO 1100 DO 2000 I=1,7 2000 IB(I) = B(I) IX = MOD(IB(1),32)*128+MOD(IB(3),32)*4+MOD(IB(5),32)/8 IY = MOD(IB(2),32)*128+MOD(IB(4),32)*4+MOD(IB(6),32)/8 UTYPED = UD( 1 + MOD( IB(7), 64 )/4 ) LITE(3) = "114 CALL TOUTPT(LITE,3) C C - CONVERT FROM SCREEN COORDINATE TO SCALE INCHES. 2100 X = (IX-IX0)/CnvMag Y = (IY-IY0)/CnvMag CALL TOUTPT("37) IMode = 0 RETURN C C - TEKTRONIX 4025. 2200 X = ( IXMAX/2 - IX0 )/CnvMag Y = ( IYMAX/2 - IY0 )/CnvMag UTYPED = "40 RETURN END