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: WINDOW C SOURCE: 92840 - 18017 C RELOC: 92840 - 16001 C C C CC*********************************************************** C SUBROUTINE WINDX(IND,IGCB,U3X,U4X,U3Y, 1U4Y), 92840-16001 REV.1819 780515 DIMENSION VAR(8) DIMENSION ICODE(4) EQUIVALENCE (VAR,V1X) EQUIVALENCE (VAR(2),V1Y),(VAR(3),V2X),(VAR(4),V2Y) EQUIVALENCE (VAR(5),A),(VAR(6),B),(VAR(7),C),(VAR(8),D) C C SCALE TAKES THE USER UNITS AND SETS UP THE MAPPING CONSTANTS C FOR TRANSLATING AND SCALING USER UNITS ONTO THE DEVICE C COORDINATE SURFACE. THE STATUS WORD IS SET (BIT 0= 1) TO C INDICATE UDU'S AT THE COMPLETION OF THIS CALL. C C DATA IV12/9/ DATA IUXY/27/ DATA IAD/12/ DATA IADP/11/ C C COMPUTE THE DELTA X AND Y FOR THE USER UNITS TO DETERMINE C MINIMUM SIDE. 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 IF(U3X.EQ.U4X.OR.U3Y.EQ.U4Y)GO TO 800 DXUDU = U4X - U3X DYUDU = U4Y - U3Y CALL GCBIM(IV12 ,1,VAR,0,1) DXV = V2X - V1X DYV = V2Y - V1Y C C C C COMPUTE CONSTANTS FOR SCALE C 10 A = DXV /DXUDU B = V1X - (A* U3X) C = DYV /DYUDU D = V1Y - (C * U3Y) CALL GCBIM(IAD,1,A,0,2) C C NOW SET STATUS TO INDICATE A-D (MU/UDU) TRANSFORMATIONS C AND INVOKE SETUU USER UNITS = UDU'S. C CALL GRSTS(2,77774B,3) CALL SETUU(IGCB) RETURN 800 CALL PLTER(16,5) RETURN END END$ END$