1*----------------------------------------------------------------------- 2* Copyright (C) 2000-2004 GFD Dennou Club. All rights reserved. 3*----------------------------------------------------------------------- 4 SUBROUTINE USXINZ(CSA, FACA, OFFA) 5 CHARACTER CSA, CS, CPOS 6 CHARACTER*32 CSBLBL, CTTL, CTITLE, CUNIT, CSUB 7 CHARACTER*16 CMIN, CMAX, CFMT0, CFMT1 8 LOGICAL LOFF, LSUB, LABEL 9 10 SAVE OFF0, FAC0, OFF1, FAC1, CFMT0, CFMT1, CS, FACTOR, OFFSET 11 12 CALL GLRGET('RUNDEF', RUNDEF) 13 14 CS = CSA 15 CALL UZRGET('ROFFX'//CS,ROFF) 16 CALL UZRGET('ROFGX'//CS,ROFG) 17 IF (ROFF.NE.ROFG) CALL UXSAXS(CS) 18 19 CALl UZRGET('RSIZEL1', SIZEL) 20 CALL USRSET('SOFFX'//CS//'R', SIZEL*0.86) 21 CALL USRSET('SOFFX'//CS//'L', -SIZEL*0.86) 22 23 CALL UZLGET('LOFFSET', LOFF) 24 IF(LOFF) THEN 25 CALL UZRGET('XOFFSET', OFF0) 26 CALL UZRGET('XFACT', FAC0) 27 ELSE 28 OFF0 = 0. 29 FAC0 = 1. 30 END IF 31 32 CALL USRGET('XOFF', OFF1) 33 CALL USRGET('XFAC', FAC1) 34 IF(OFF1.EQ.RUNDEF) OFF1 = 0. 35 IF(FAC1.EQ.RUNDEF) FAC1 = 1. 36 OFFA = OFF1 37 FACA = FAC1 38 39 FACTOR = FAC0/FAC1 40 OFFSET = (OFF0-OFF1)/FAC1 41 CALL UZLSET('LOFFSET', .TRUE.) 42 CALL UZRSET('XOFFSET', OFFSET) 43 CALL UZRSET('XFACT', FACTOR) 44 45 CALL UZCGET('CXFMT', CFMT0) 46 CALL USCGET('CXFMT', CFMT1) 47 IF(CFMT1 .EQ. ' ') CFMT1 = CFMT0 48 CALL UZCSET('CXFMT', CFMT1) 49 50 RETURN 51*------------------------------------------------------------- 52 ENTRY USXTLZ 53 54 CALL SGQWND(XMIN,XMAX,YMIN,YMAX) 55 56 CALL UZLGET('LABELX'//CS, LABEL) 57 CALL USCGET('CXUNIT', CUNIT) 58 CALL USCGET('CXTTL ', CTTL) 59 60 IF(LABEL) THEN 61 CSUB = CSBLBL(FAC1, OFF1, CUNIT) 62 CALL USLGET('LXSUB', LSUB) 63 IF(LENZ(CSUB).NE.0) THEN 64 IF(LSUB) THEN 65 CALL CHVAL(CFMT1,XMIN*FACTOR+OFFSET,CMIN) 66 CALL CHVAL(CFMT1,XMAX*FACTOR+OFFSET,CMAX) 67 RLEN = MAX(LENZ(CMIN), LENZ(CMAX)) 68 69 CALL USCGET('CXSPOS', CPOS) 70 CALL USXSUB(CS, CPOS, CSUB, RLEN) 71 CTITLE = CTTL 72 ELSE 73 NLT = LENZ(CTTL) 74 CTITLE = CTTL(1:NLT+1) // CSUB 75 ENDIF 76 ELSE 77 CTITLE = CTTL 78 ENDIF 79 80 CALL CLADJ(CTITLE) 81 IF(LENZ(CTITLE).NE.0) CALL UXSTTL(CS, CTITLE, 0.) 82 ENDIF 83 84 CALL UZRSET('XOFFSET', OFF0) 85 CALL UZRSET('XFACT', FAC0) 86 CALL UZCSET('CXFMT', CFMT0) 87 88 END 89