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: CPLOT COMMAND C SOURCE: 92840 - 18064 C RELOC: 92840 - 16001 C C C CC*********************************************************** C SUBROUTINE CHPLT(IND,IGCB,XI,YI, 1IPCTL), 92840-16001 REV.2040 800807 C LOGICAL GSOFT,GWC,WCFLAG SY2013 DIMENSION VAR(7),ICODE(3),IBUFR(8) EQUIVALENCE (VAR,CHRW),(VAR(2),CHRH),(VAR(3),THETA) EQUIVALENCE(VAR(4),A),(VAR(6),C) EQUIVALENCE(ICODE,ICHR),(ICODE(2),LDIR),(ICODE(3),ICD3) EQUIVALENCE (IBUFR,IB1),(IBUFR(2),IB2),(VAR(5),B) EQUIVALENCE (VAR(7),D) C C THIS IS THE AGL MODULE FOR PROCESSING THE CHARACTER C PLOT COMMAND. IX = # CHARACTERS IN X DIRECTIONS C IY = # " " Y DIRECTION C DATA ICHR/7/ DATA IPXY/5003B/ DATA LDIR/22/ C 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 MOD BY SY2013. SET UP THE PROPER VALUES TO INQUIRE FOR ACCORDING C TO WHETHER SOFTWARE OR HARDWARE TEXT IS ENABLED. C IUNIT=IADCD(IDUMY) IF (GSOFT(IGCB)) GO TO 100 C*********************************************************************** C HARDWARE TEXT IS ON. COMPUTE HTOT AND WTOT. C ICODE=7 ICODE(2)=22 ICD3=IUNIT CALL GCBIM(ICODE,3,VAR,0,1) C WTOT=(XI*CHRW)/A SY2040 HTOT=(YI*CHRH)/C SY2040 GO TO 2000 C*********************************************************************** C SOFTWARE TEXT IS ON. SET UP WC OR NDC SPACE ACCORDING TO HOW USER C ENTERED HIS CSIZE CALL. C 100 CONTINUE WCFLAG=GWC(IGCB) IF (WCFLAG) CALL SETUU(IGCB) IF (.NOT. WCFLAG) CALL SETGU(IGCB) C*********************************************************************** C RETRIEVE THE CHARACTER HEIGHT AND WIDTH IN UNITS SPECIFIED IN THE C CSIZE CALL. C GET LDIR IN WC. C ICODE=33 ICODE(2)=35 CALL GCBIM(ICODE,2,VAR,0,1) WTOT=XI*VAR(1) HTOT=YI*VAR(2) THETA=VAR(3) D WRITE(1,105) THETA D105 FORMAT(/"CHPLT: WC LDIR = ",F13.5) C******************************************************************** C CONVERT LDIR TO NDC IF YOU WANT NDC PLOTTING. C IF (WCFLAG) GO TO 2000 CALL GANG3(IGCB,THETA,TEMP,IBUFR) D WRITE(1,107) TEMP D107 FORMAT(/"CHPLT: MU LDIR = ",F13.5) CALL GANG4(IGCB,TEMP,THETA,IBUFR) D WRITE(1,115) THETA D115 FORMAT(/"CHPLT: NDC LDIR = ",F13.5) C********************************************************************* C COMPUTE VALUES FOR X AND Y IN CURRENT UNIT MODE C 2000 CONTINUE THETX=COS(THETA) THETY=SIN(THETA) C X=WTOT*THETX-HTOT*THETY Y=WTOT*THETY+HTOT*THETX C********************************************************************** C CALL IPLOT TO DO THE PLOTTING C CALL IPLOT(IGCB,X,Y,IPCTL) IF (IUNIT .EQ. 12) CALL SETGU(IGCB) IF (IUNIT .NE. 12) CALL SETUU(IGCB) RETURN END