Download xtrini.eso

Back to the list

   1 : C XTRINI    SOURCE    BP208322  12/08/02    21:15:51     7468           
   2 : C     INTERFACE POUR XWINDOW
   3 : C     
   4 : C     
   5 : C     
   6 : C  1995 option FACE P.PEGON JRC-ISPRA
   7 :       SUBROUTINE XTRINI(NOL,AXAX,AYAY,TITR,HAUTT,VALEU,NCOUMA)
   8 :       IMPLICIT INTEGER(I-N)
   9 :       EXTERNAL LONG
  10 : -INC CCOPTIO
  11 : -INC CCTRACE      
  12 :       CHARACTER*(18) HEGEND(4)
  13 :       CHARACTER*(*) LEGEND(*)
  14 :       CHARACTER*(500) KEGEND
  15 :       EQUIVALENCE(KEGEND,IEGEND)
  16 :       EQUIVALENCE(HEGEND,JEGEND)
  17 :       CHARACTER*(*) TITR,CARAC,PROMPT,REPLY
  18 :       CHARACTER*80 CHAINE,CHMESS
  19 :       CHARACTER*80 TITRS
  20 :       LOGICAL VALEU,FENE,valeus
  21 :       DIMENSION XTR(1),YTR(1)
  22 :       DIMENSION XMAT(3,3)
  23 :       EQUIVALENCE (CHAINE,ICHAIN)
  24 :       EQUIVALENCE (CHmess,ICHmes)
  25 :       save chmess,ichmes,titrs,valeus
  26 :       SAVE KEGEND,KCASE,KLONG
  27 :       SAVE mcouma,miso
  28 :       SAVE iret
  29 :       SAVE IDEFO
  30 :       SAVE DESSIN,DESSIC
  31 :       SAVE NBOPD,NBPD,NBCHRD,LTITRE
  32 :       SAVE IBOPD,IBPD,IBCHRD
  33 :       SEGMENT DESSIN
  34 :       CHARACTER*(LTITRE) TITRE
  35 :       LOGICAL VALEUR,FENET
  36 :       REAL XMIN,XXAX,YMIN,YYAX
  37 :       REAL OXMIN,OXXAX,OYMIN,OYYAX
  38 :       INTEGER NBOP,NBP,NBCHR
  39 :       INTEGER IOPER(NBOPD),IXINFO(2,NBPD)
  40 :       REAL X(NBPD),Y(NBPD),Z(NBPD)
  41 :       ENDSEGMENT
  42 : *     
  43 :       SEGMENT DESSIC
  44 :       CHARACTER*(NBCHRD) CARACT
  45 :       ENDSEGMENT
  46 :       POINTEUR CESSIN.DESSIN
  47 :       POINTEUR CESSIC.DESSIC
  48 : *     
  49 : *     DECLARATION POUR LGI
  50 :       DIMENSION Q(20),ICOLT(9)
  51 : -INC CCREEL
  52 : C+PPf (FACE)
  53 :       DIMENSION ITCODP(6),ITCODM(6)
  54 :       DATA ITCODP/3,1,5,4,6,2/
  55 :       DATA ITCODM/2,6,1,4,3,5/
  56 : C+PPf 
  57 :       DATA DESSIN/0/
  58 :       DATA ICOLT/0,1,2,5,3,6,4,7,8/
  59 :       DATA HEGEND/'                  ',
  60 :      >     '    Framemaker    ',
  61 :      >     'PostScript couleur',
  62 :      >     '  PostScript NB   '/
  63 :       DATA MISO/0/
  64 : * Pour le lgi verification des bornes
  65 : C  INITIALISATION
  66 :       incr=0
  67 :       chmess=' '
  68 : *  OUVERTURE XWINDOW
  68 :       CALL XOPEN(NCOUMA,ICOSC,IOPOLI)
  69 : *  si ncouma = 0 pas de display on tente le lgi
  70 :       mcouma=ncouma
  71 :       TITRS=TITR
  72 :       LTITRE=LONG(TITRS)
  73 :       ltitre=72
  74 :       IF (DESSIN.EQ.0) THEN
  75 :          NBPD=5000
  76 :          NBOPD=5000
  77 :          NBCHRD=5000
  78 :          SEGINI DESSIN,DESSIC
  78 :          CALL SAVSEG(DESSIN)
  78 :          CALL SAVSEG(DESSIC)
  79 :       ENDIF
  80 :       TITRS=TITR
  81 :       valeus=valeu
  82 :       RETURN
  83 : **    
  84 : C======================================================================
  85 :       ENTRY XDFENE(XMI,XXA,YMI,YYA,XR1,XR2,YR1,YR2,FENE)
  86 : *  DEFINITION FENETRE
  87 :       segact dessin*mod,dessic*mod
  88 : *  reinitialisation du dessin
  89 :       if (mcouma.eq.0) return
  90 :       IBOPD=0
  91 :       IBPD=0
  92 :       IBCHRD=0
  93 :       LTITRE=LONG(TITRS)
  94 :       NBPD=5000
  95 :       NBOPD=5000
  96 :       NBCHRD=5000
  97 :       SEGADJ DESSIN,DESSIC
  98 :       NBOP=0
  99 :       NBCHR=0
 100 :       NBP=0
 101 :       TITRE=TITRS
 102 :       VALEUR=valeus
 103 : *  DEBUT DE DESSIN
 104 :       XR1=XMI
 105 :       XR2=XXA
 106 :       YR1=YMI
 107 :       YR2=YYA
 108 :       FENET=FENE
 109 :       XMIN=XMI
 110 :       XXAX=XXA
 111 :       YMIN=YMI
 112 :       YYAX=YYA
 113 :       OXMIN=XMI
 114 :       OXXAX=XXA
 115 :       OYMIN=YMI
 116 :       OYYAX=YYA
 117 :       RETURN
 118 : **    
 119 : C======================================================================
 120 : cbp       ENTRY XTRLAB(XT,YT,CARAC,NCARR,HAUT,ipoli)
 121 : cbp : ipoli est le 3 eme argument de xopen 
 122 : c    (les 2 premiers étant ncouma et iscreen)
 123 :        ENTRY XTRLAB(XT,YT,CARAC,NCARR,HAUT,IANGLE)
 124 : *  ECRITURE TEXT CODE OPERATION 1  1 POINT DES CARACTERES
 125 :       ncar=long(carac(1:ncarr))
 126 :       NBOP=NBOP+2
 127 :       IF (NBOP.GT.NBOPD) THEN
 128 :          NBOPD=NBOPD+5000
 129 :          SEGADJ DESSIN
 130 :       ENDIF
 131 :       IOPER(NBOP-1)=1
 132 :       IOPER(NBOP)=NCAR
 133 :       NBP=NBP+1
 134 :       IF (NBP.GT.NBPD) THEN
 135 :          NBPD=NBPD+5000
 136 :          SEGADJ DESSIN
 137 :       ENDIF
 138 :       X(NBP)=XT
 139 :       Y(NBP)=YT
 140 :       Z(NBP)=0
 141 : cbp:  on stocke ANGLE + IALIGN de INFOTR(1 et 2) dans IXINFO
 142 : c     et on n utilisera pour l instant qu en cas de sortie PS...
 143 :       IXINFO(1,NBP)=INFOTR(1)
 144 :       IXINFO(2,NBP)=INFOTR(2)
 145 : c       if(INFOTR(1).ne.0.or.INFOTR(1).ne.0.) write(6,*)
 146 : c      &'CARAC=',CARAC(1:NCAR),' IXINFO=',IXINFO(1,NBP),IXINFO(2,NBP)
 147 :       NBCHR=NBCHR+NCAR
 148 :       IF (NBCHR.GT.NBCHRD) THEN
 149 :          NBCHRD=NBCHRD+5000
 150 :          SEGADJ DESSIC
 151 :       ENDIF
 152 :       CARACT(NBCHR-NCAR+1:NBCHR)=CARAC(1:NCAR)
 153 :       RETURN
 154 : **    
 155 : C======================================================================
 156 :       ENTRY XCHCOU(JCOLO)
 157 : *  CHANGEMENT DE COULEUR CODE OPERATION 2 1 ENTIER
 158 :       NBOP=NBOP+2
 159 :       IF (NBOP.GT.NBOPD) THEN
 160 :          NBOPD=NBOPD+5000
 161 :          SEGADJ DESSIN
 162 :       ENDIF
 163 :       IOPER(NBOP-1)=2
 164 :       IOPER(NBOP)=JCOLO
 165 :       RETURN
 166 : **    
 167 : C======================================================================
 168 :       ENTRY XINSEG(JSEG,IRESS)
 169 : *  CHANGEMENT SEGMENT CODE OPERATION 3 1 ENTIER
 170 :       segact dessin*mod,dessic*mod
 171 :       NBOP=NBOP+2
 172 :       IF (NBOP.GT.NBOPD) THEN
 173 :          NBOPD=NBOPD+5000
 174 :          SEGADJ DESSIN
 175 :       ENDIF
 176 :       IOPER(NBOP-1)=3
 177 :       IOPER(NBOP)=JSEG
 178 :       RETURN
 179 : **    
 180 : C======================================================================
 181 :       ENTRY XPOLRL(NTRSTU,XTR,YTR)
 182 : *  POLYLINE CODE OPERATION 4 NBDE POINTS POINTS
 183 :       NBOP=NBOP+2
 184 :       IF (NBOP.GT.NBOPD) THEN
 185 :          NBOPD=NBOPD+5000
 186 :          SEGADJ DESSIN
 187 :       ENDIF
 188 :       IOPER(NBOP-1)=4
 189 :       IOPER(NBOP)=NTRSTU
 190 :       NBP=NBP+NTRSTU
 191 :       IF (NBP.GT.NBPD) THEN
 192 :          NBPD=NBPD+5000
 193 :          SEGADJ DESSIN
 194 :       ENDIF
 195 :       DO 10 I=1,NTRSTU
 196 :          X(NBP-NTRSTU+I)=XTR(I)
 197 :          Y(NBP-NTRSTU+I)=YTR(I)
 198 :  10   CONTINUE
 199 :       RETURN
 200 : **    
 201 : C======================================================================
 202 :       ENTRY XTRFAC(NTRSTU,XTR,YTR,ZN,ICOLE,IEFF)
 203 : *  FACETTE CODE OPERATION 5 NBDE POINTS COULEUR POINTS
 204 : C PPf NBOP=NBOP+3
 205 :       NBOP=NBOP+4
 206 :       IF (NBOP.GT.NBOPD) THEN
 207 :          NBOPD=NBOPD+5000
 208 :          SEGADJ DESSIN
 209 :       ENDIF
 210 : C PPf IOPER(NBOP-2)=5
 211 :       IOPER(NBOP-3)=5
 212 : C PPf IOPER(NBOP-1)=NTRSTU
 213 :       IOPER(NBOP-2)=NTRSTU
 214 : C PPf IOPER(NBOP)=ICOLE
 215 :       IOPER(NBOP-1)=ICOLE
 216 : C+PPf 
 217 :       ZZN=ABS(ZN/REAL(XPI)*2)
 218 :       IF (ZZN.GT.0.99999)ZZN=0.99999
 219 :       IZN=INT(6*ZZN)+1
 220 :       IOPER(NBOP)=ITCODP(IZN)
 221 : C     write (6,*)'ZN, ZZN, IZN, IOPER(NBOP)', ZN, ZZN, IZN, IOPER(NBOP)
 222 : C+PPf 
 223 :       NBP=NBP+NTRSTU
 224 :       IF (NBP.GT.NBPD) THEN
 225 :          NBPD=NBPD+5000
 226 :          SEGADJ DESSIN
 227 :       ENDIF
 228 :       DO 20 I=1,NTRSTU
 229 :          X(NBP-NTRSTU+I)=XTR(I)
 230 :          Y(NBP-NTRSTU+I)=YTR(I)
 231 :          Z(NBP-NTRSTU+I)=0
 232 :  20   CONTINUE
 233 :       IEFF=1
 234 : *     IEFF=0     signifie qu'on ne met pas en noir les traits (cas des iso
 235 :       RETURN
 236 : **    
 237 : C======================================================================
 238 :       ENTRY XTRAIS(NP,XTR,YTR,ICOLE)
 239 : *  FACETTE CODE OPERATION 6 NBDE POINTS POINTS
 240 :       NBOP=NBOP+3
 241 :       IF (NBOP.GT.NBOPD) THEN
 242 :          NBOPD=NBOPD+5000
 243 :          SEGADJ DESSIN
 244 :       ENDIF
 245 :       IOPER(NBOP-2)=6
 246 :       IOPER(NBOP-1)=NP
 247 :       IOPER(NBOP)=ICOLE
 248 :       NBP=NBP+NP
 249 :       IF (NBP.GT.NBPD) THEN
 250 :          NBPD=NBPD+5000
 251 :          SEGADJ DESSIN
 252 :       ENDIF
 253 :       DO 30 I=1,NP
 254 :          X(NBP-NP+I)=XTR(I)
 255 :          Y(NBP-NP+I)=YTR(I)
 256 :          Z(NBP-NP+I)=0
 257 :  30   CONTINUE
 258 :       RETURN
 259 : **    
 260 : C======================================================================
 261 : *  AFFICHAGE DU DESSIN ATTENTE D'EVENEMENT
 262 : C======================================================================
 263 :       ENTRY XTRDIG(XRO,XCOL,ICLE)
 264 :       segact dessin*mod,dessic*mod
 265 :       ICLE=0
 266 :       IRDIG=1
 267 :       GOTO 35
 268 :       ENTRY XTRAFF(ICLE)
 269 :       SEGACT DESSIN,DESSIC
 270 :       ICLE=0
 271 :       IRDIG=0
 272 :  35   CONTINUE
 273 : *  AFFICHAGE DU DESSIN ATTENTE D'EVENEMENT
 274 :       IDAFF=0
 275 :       ITYP=0
 276 :  250  CONTINUE
 277 :       IBOP=IBOPD
 278 :       IBP=IBPD
 279 :       IBCHR=IBCHRD
 280 :       IF (IBOPD.EQ.0) THEN
 281 :          CHAINE(1:LTITRE)=TITRE(1:LTITRE)
 281 :          CALL XRINIT(ICHAIN,VALEUR,LTITRE,MISO)
 282 :       ENDIF
 282 :       CALL XFENET(XMIN,XXAX,YMIN,YYAX,FENET)
 283 :  99   CONTINUE
 284 :  100  CONTINUE
 285 :       IBOP=IBOP+1
 286 :       IF (IBOP.GT.NBOP) GOTO 200
 287 :       ICOD=IOPER(IBOP)
 288 :       IF (ICOD.EQ.1) THEN
 289 :          IBOP=IBOP+1
 290 :          NBCAR=IOPER(IBOP)
 291 :          IBP=IBP+1
 292 :          CHAINE(1:NBCAR)=CARACT(IBCHR+1:IBCHR+NBCAR)
 292 :          CALL XRLABL(X(IBP),Y(IBP),ICHAIN,NBCAR)
 293 :          IBCHR=IBCHR+NBCAR
 294 :       ELSEIF (ICOD.EQ.2) THEN
 295 :          IBOP=IBOP+1
 296 :          ICOUL=IOPER(IBOP)
 296 :          CALL XHCOUL(ICOUL)
 297 :       ELSEIF (ICOD.EQ.3) THEN
 298 : *  OUVERTURE SEGMENT
 299 :          IBOP=IBOP+1
 300 :       ELSEIF (ICOD.EQ.4) THEN
 301 :          IBOP=IBOP+1
 302 :          N=IOPER(IBOP)
 302 :          CALL XOLRL(N,X(IBP+1),Y(IBP+1))
 303 :          IBP=IBP+N
 304 :       ELSEIF (ICOD.EQ.5) THEN
 305 :          IBOP=IBOP+1
 306 :          N=IOPER(IBOP)
 307 :          IBOP=IBOP+1
 308 :          ICOL=IOPER(IBOP)
 308 :          CALL XHCOUL(ICOL)
 309 : C+PPf 
 310 :          IBOP=IBOP+1
 311 :          IZN=IOPER(IBOP)
 312 : C+PPf 
 312 : C PPf  CALL XRFACE(N,X(IBP+1),Y(IBP+1))
 312 :          CALL XRFACE(N,X(IBP+1),Y(IBP+1),IZN)
 313 :          IBP=IBP+N
 314 :       ELSEIF (ICOD.EQ.6) THEN
 315 :          IBOP=IBOP+1
 316 :          N=IOPER(IBOP)
 317 :          IBOP=IBOP+1
 318 :          ICO=IOPER(IBOP)
 319 :          if (ico.gt.1000.or.ico.lt.0) then
 320 : *           write (6,*) '1 - ico incorrect ',ico
 321 :            ico=0
 322 :          endif 
 323 : C palette des iso
 324 :          if (mcouma.ge.16) ico=ico+100
 324 :          CALL XHCOUL(ICO)
 324 :          if (N.GT.2) CALL XRAISO(N,X(IBP+1),Y(IBP+1))
 324 :          if (N.EQ.2) CALL XOLRL(N,X(IBP+1),Y(IBP+1))
 325 :          IBP=IBP+N
 326 :       ELSEIF (ICOD.EQ.7) THEN
 327 :          IBOP=IBOP+1
 328 :          IFENJ=IOPER(IBOP)
 328 :          CALL XVALIS(IFENJ,IRESV,NHH)
 329 :       ELSEIF (ICOD.EQ.8) THEN
 330 : *  menu en blanc
 330 :          CALL XHCOUL(7)
 330 :          CALL XENU(IEGEND,KCASE,KLONG)
 331 :       ELSEIF (ICOD.EQ.9) THEN
 332 :          IBOP=IBOP+1
 333 :          IMAG=IOPER(IBOP)
 333 :          CALL XRIMAG(IMAG)
 334 :       ELSEIF (ICOD.EQ.10) THEN
 335 :          IBOP=IBOP+1
 336 :          ITYP=IOPER(IBOP)
 337 :          IBOP=IBOP+1
 338 :          NBIMAG=IOPER(IBOP)
 338 :          CALL XRANIM(ITYP,NBIMAG)
 338 : ***    CALL XRSWAP(IRET)
 339 :       ELSEIF (ICOD.EQ.11) THEN
 340 : *  menu en blanc
 341 :          If(icosc.eq.1) then
 341 :            CALL XHCOUL(7)
 342 :          else
 342 :            CALL XHCOUL(0)
 343 :          endif
 344 :       ENDIF
 345 :       GOTO 100
 346 :  200  CONTINUE
 347 :       IBPD=IBP
 348 :       IBOPD=IBOP-1
 349 :       IBCHRD=IBCHR
 350 : *  cas animation et affichage initial. on swappe pour voir qqchose
 350 : **    IF (ITYP.GT.0.and.iret.eq.0) CALL XRSWAP(IRET)
 351 :       iret=0
 352 :       ICLE=-2
 353 : *  on affiche un message eventuel
 354 :       if (chmess.ne.' ') then
 355 :          nbcar=long(chmess)
 355 :          CALL XVALIS(3,IRESV,NHH)
 355 :          CALL XHCOUL(7)
 355 :          CALL XRLABL(0.,0.,ICHmes,NBCAR)
 356 :       endif
 356 :       CALL XRAFF(YRO,YCOL,IRDIG,ICLE)
 357 :       IF (IRDIG.EQ.1) THEN
 358 :          XRO=YRO
 359 :          XCOL=YCOL
 360 :       ENDIF
 361 : *  reaffichage
 362 :       IF (ICLE.EQ.-1) THEN
 363 :          IBPD=0
 364 :          IBOPD=0
 365 :          IBCHRD=0
 366 :          GOTO 250
 367 :       ENDIF
 368 : *  on invalide le message eventuel
 369 :       chmess=' '
 370 : *  CLE INACTIVE
 371 :       IF (ICLE.GE.0) THEN
 372 :          IF (KEGEND(ICLE*KLONG+1:(ICLE+1)*KLONG).EQ.' ') ICLE=-2
 373 :          IF(KEGEND(1+ICLE*KLONG+(klong-8)/2:
 374 :      #        (ICLE+1)*KLONG).EQ.'Softcopy') GOTO 700
 375 :       ENDIF
 376 : **      IF (ICLE.EQ.7.AND.KCASE.EQ.9) THEN
 377 :       iou=9
 378 :       ipuo=1+klong*(iou-1)
 379 : *      write(6,*) Kegend(IPUO:IPUO+10)
 380 : *       write(6,*)' icle ' , icle
 381 :        ipuo=1+klong*(iou-1)
 382 :       IF(ICLE.EQ.8.AND.Kegend(ipuo:ipuo+10).eq.'  Animation')
 383 :      $        THEN
 384 : *      write(6,*) ' on tente lanimation '
 385 : *  ANIMATION
 386 :          IDES=0
 387 :          INCR=1
 388 :  310     CONTINUE
 389 :          IDES=IDES+INCR
 390 :          IF (IDES.EQ.NBIMAG) INCR=-1
 391 :          IF (IDES.EQ.1)      INCR= 1
 392 :          IBOP=0
 393 :          IBP=0
 394 :          IBCHR=0
 395 :          ITRAC=0
 395 :          CALL XFENET(XMIN,XXAX,YMIN,YYAX,FENET)
 396 :  301     CONTINUE
 397 :          IBOP=IBOP+1
 398 :          IF (IBOP.GT.NBOP) GOTO 302
 399 :          ICOD=IOPER(IBOP)
 400 :          IF (ICOD.EQ.1) THEN
 401 :             IBOP=IBOP+1
 402 :             NBCAR=IOPER(IBOP)
 403 :             IBP=IBP+1
 404 :             CHAINE(1:NBCAR)=CARACT(IBCHR+1:IBCHR+NBCAR)
 404 :             IF (ITRAC.NE.0) CALL XRLABL(X(IBP),Y(IBP),ICHAIN,NBCAR)
 405 :             IBCHR=IBCHR+NBCAR
 406 :          ELSEIF (ICOD.EQ.2) THEN
 407 :             IBOP=IBOP+1
 408 :             ICOUL=IOPER(IBOP)
 408 :             IF (ITRAC.NE.0) CALL XHCOUL(ICOUL)
 409 :          ELSEIF (ICOD.EQ.3) THEN
 410 : *  OUVERTURE SEGMENT
 411 :             IBOP=IBOP+1
 412 :          ELSEIF (ICOD.EQ.4) THEN
 413 :             IBOP=IBOP+1
 414 :             N=IOPER(IBOP)
 414 :             IF (ITRAC.NE.0) CALL XOLRL(N,X(IBP+1),Y(IBP+1))
 415 :             IBP=IBP+N
 416 :          ELSEIF (ICOD.EQ.5) THEN
 417 :             IBOP=IBOP+1
 418 :             N=IOPER(IBOP)
 419 :             IBOP=IBOP+1
 420 :             ICOL=IOPER(IBOP)
 421 : C+PPf 
 422 :             IBOP=IBOP+1
 423 : C+PPf 
 424 :             IF (ITRAC.NE.0) THEN
 424 :                CALL XHCOUL(ICOL)
 425 : C+PPf 
 426 :                IZN=IOPER(IBOP)
 427 : C+PPf 
 427 : C PPf      CALL XRFACE(N,X(IBP+1),Y(IBP+1))
 427 :                CALL XRFACE(N,X(IBP+1),Y(IBP+1),IZN)
 428 :             ENDIF
 429 :             IBP=IBP+N
 430 :          ELSEIF (ICOD.EQ.6) THEN
 431 :             IBOP=IBOP+1
 432 :             N=IOPER(IBOP)
 433 :             IBOP=IBOP+1
 434 :             ICO=IOPER(IBOP)
 435 :          if (ico.gt.1000.or.ico.lt.0) then
 436 : *           write (6,*) '2 - ico incorrect ',ico
 437 :            ico=0
 438 :          endif
 439 :             if (mcouma.ge.16) ico=ico+100
 440 :             IF (ITRAC.NE.0) THEN
 440 :                CALL XHCOUL(ICO)
 440 :                if (N.GT.2) CALL XRAISO(N,X(IBP+1),Y(IBP+1))
 440 :                if (N.EQ.2) CALL XOLRL(N,X(IBP+1),Y(IBP+1))
 441 :             ENDIF
 442 :             IBP=IBP+N
 443 :          ELSEIF (ICOD.EQ.7) THEN
 444 :             IBOP=IBOP+1
 445 :             IFENJ=IOPER(IBOP)
 445 :             IF (ITRAC.NE.0) CALL XVALIS(IFENJ,IRESV,NHH)
 446 :          ELSEIF (ICOD.EQ.8) THEN
 447 :          ELSEIF (ICOD.EQ.9) THEN
 448 :             IBOP=IBOP+1
 449 :             IMAG=IOPER(IBOP)
 450 :             IF (IDES.EQ.IMAG) ITRAC=1
 451 :             IF (IDES.NE.IMAG) ITRAC=0
 452 :          ELSEIF (ICOD.EQ.10) THEN
 453 :             IBOP=IBOP+1
 454 :             ITYP=IOPER(IBOP)
 455 :             IBOP=IBOP+1
 456 :             NBIMAG=IOPER(IBOP)
 457 :          ELSEIF (ICOD.EQ.11) THEN
 458 :          ENDIF
 459 :          GOTO 301
 460 :  302     CONTINUE
 460 :          CALL XRSWAP(IRET)
 461 :          IF (IRET.EQ.0.AND.(ITYP.NE.1.OR.INCR.EQ.1)) GOTO 310
 461 :          CALL XENU(IEGEND,KCASE,KLONG)
 462 :          GOTO 250
 463 :       ENDIF
 464 :       if (irdig.eq.0) SEGDES DESSIN,DESSIC
 465 :       RETURN
 466 :  700  CONTINUE
 467 : *  on propose le choix de la softcopie
 467 :       CALL XHCOUL(7)
 467 :       CALL XENU(JEGEND,4,18)
 467 :       CALL XRAFF(YRO,YCOL,IRDIG,ICLE)
 468 :       if (icle.le.0) goto 700
 469 :       icle=icle+1
 470 : *  on signale qu'on a compris l'instruction
 470 :       CALL XVALIS(3,IRESV,NHH)
 470 :       CALL XHCOUL(0)
 471 :       chaine='Softcopie '//hegend(icle)
 472 :      >     (1:long(hegend(icle)))//' effectuee'
 472 :       CALL XRLABL(0.,0.,ICHAIN,80)
 473 : *  on repositionne le menu
 473 :       CALL XENU(IEGEND,KCASE,KLONG)
 474 : C---------------------------------------------------
 475 : *  impression du dessin (Softcopy)
 476 : *  on reboucle sur la structure du trace
 477 :       IDAFF=0
 478 :       ITYP=0
 479 :  750  CONTINUE
 480 :       IBOP=0
 481 :       IBP=0
 482 :       IBCHR=0
 483 :       CHAINE=TITRE(1:LTITRE)
 484 :       if (icle.eq.4) then
 484 :          CALL strini(24,axax,ayay,chaine(1:ltitre),1.5,.true.,ncoumb)
 484 :          CALL sdfene(XMIN,XXAX,YMIN,YYAX,XXR1,XXR2,YYR1,YYR2,FENET)
 484 :          CALL sfvali(0,iresv,nhh,MISO)
 485 :       elseif (icle.eq.3) then
 485 :          CALL ctrini(24,axax,ayay,chaine(1:ltitre),1.5,.true.,ncoumb)
 485 :          CALL cdfene(XMIN,XXAX,YMIN,YYAX,XXR1,XXR2,YYR1,YYR2,FENET)
 485 :          CALL cfvali(0,iresv,nhh,MISO)
 486 :       elseif (icle.eq.2) then
 486 :          CALL mtrini(24,axax,ayay,chaine,1.5,.true.,ncoumb)
 486 :          CALL mdfene(XMIN,XXAX,YMIN,YYAX,XXR1,XXR2,YYR1,YYR2,FENET)
 487 :       endif
 488 : c     boucle sur le objets IBOP
 489 :  760  CONTINUE
 490 :       IBOP=IBOP+1
 491 :       IF (IBOP.GT.NBOP) then
 492 :          if (icle.eq.4) then
 492 :             call straff(ibid)
 493 :          elseif (icle.eq.3) then
 493 :             call ctraff(ibid)
 494 :          elseif (icle.eq.2) then
 494 :             call mtraff(ibid)
 495 :          endif
 496 :          GOTO 200
 497 :       endif
 498 :       ICOD=IOPER(IBOP)
 499 : c     il s'agit d un label      
 500 :       IF (ICOD.EQ.1) THEN
 501 :          IBOP=IBOP+1
 502 :          NBCAR=IOPER(IBOP)
 503 :          IBP=IBP+1
 504 :          CHAINE(1:NBCAR)=CARACT(IBCHR+1:IBCHR+NBCAR)
 505 :          INFOTR(1)=IXINFO(1,IBP)
 506 :          INFOTR(2)=IXINFO(2,IBP)
 507 :          if (icle.eq.4) then
 507 :             CALL strlab(X(IBP),Y(IBP),CHAINE,NBCAR,0.15)
 508 :          elseif (icle.eq.3) then
 508 :             CALL ctrlab(X(IBP),Y(IBP),CHAINE,NBCAR,0.15)
 509 :          elseif (icle.eq.2) then
 509 :             CALL mtrlab(X(IBP),Y(IBP),CHAINE,NBCAR,0.15)
 510 :          endif
 511 :          INFOTR(1)=0
 512 :          INFOTR(2)=0
 513 :          IBCHR=IBCHR+NBCAR
 514 : c     il s'agit d une couleur
 515 :       ELSEIF (ICOD.EQ.2) THEN
 516 :          IBOP=IBOP+1
 517 :          ICOUL=IOPER(IBOP)
 518 :          if (icle.eq.4) then
 518 :             CALL schcou(ICOUL)
 519 :          elseif (icle.eq.3) then
 519 :             CALL cchcou(ICOUL)
 520 :          elseif (icle.eq.2) then
 520 :             CALL mchcou(ICOUL)
 521 :          endif
 522 :       ELSEIF (ICOD.EQ.3) THEN
 523 : *  OUVERTURE SEGMENT
 524 :          IBOP=IBOP+1
 525 :       ELSEIF (ICOD.EQ.4) THEN
 526 :          IBOP=IBOP+1
 527 :          N=IOPER(IBOP)
 528 :          if (icle.eq.4) then
 528 :             CALL spolrl(N,X(IBP+1),Y(IBP+1))
 529 :          elseif (icle.eq.3) then
 529 :             CALL cpolrl(N,X(IBP+1),Y(IBP+1))
 530 :          elseif (icle.eq.2) then
 530 :             CALL mpolrl(N,X(IBP+1),Y(IBP+1))
 531 :          endif
 532 :          IBP=IBP+N
 533 :       ELSEIF (ICOD.EQ.5) THEN
 534 :          IBOP=IBOP+1
 535 :          N=IOPER(IBOP)
 536 :          IBOP=IBOP+1
 537 :          ICOL=IOPER(IBOP)
 538 :          if (icle.eq.4) then
 538 :             CALL strfac(N,X(IBP+1),Y(IBP+1),Z(IBP+1),icol,ibid)
 539 :          elseif (icle.eq.3) then
 539 :             CALL ctrfac(N,X(IBP+1),Y(IBP+1),Z(IBP+1),icol,ibid)
 540 :          elseif (icle.eq.2) then
 541 : C+PPf 
 542 :             IZN=IOPER(IBOP+1)
 543 :             IZN=ITCODM(IZN)
 544 :             ZZN=(IZN-0.99999)*REAL(XPI)/12
 545 : C+PPf 
 545 : C PPf   CALL mtrfac(N,X(IBP+1),Y(IBP+1),Z(IBP+1),icol,ibid)
 545 :             CALL mtrfac(N,X(IBP+1),Y(IBP+1),ZZN,icol,ibid)
 546 :          endif
 547 : C+PPf 
 548 :          IBOP=IBOP+1
 549 : C+PPf 
 550 :          IBP=IBP+N
 551 :       ELSEIF (ICOD.EQ.6) THEN
 552 :          IBOP=IBOP+1
 553 :          N=IOPER(IBOP)
 554 :          IBOP=IBOP+1
 555 :          ICO=IOPER(IBOP)
 556 :          if (icle.eq.4) then
 556 :             CALL strais(N,X(IBP+1),Y(IBP+1),ico)
 557 :          elseif (icle.eq.3) then
 557 :             CALL ctrais(N,X(IBP+1),Y(IBP+1),ico)
 558 :          elseif (icle.eq.2) then
 558 :             CALL mtrais(N,X(IBP+1),Y(IBP+1),ico)
 559 :          endif
 560 :          IBP=IBP+N
 561 :       ELSEIF (ICOD.EQ.7) THEN
 562 :          IBOP=IBOP+1
 563 :          IFENJ=IOPER(IBOP)
 564 :          if (icle.eq.4) then
 564 :             CALL sfvali(IFENJ,IRESV,NHH,miso)
 565 :          elseif (icle.eq.3) then
 565 :             CALL cfvali(IFENJ,IRESV,NHH,miso)
 566 :          elseif (icle.eq.2) then
 566 :             CALL mfvali(IFENJ,IRESV,NHH)
 567 :          endif
 568 :       ELSEIF (ICOD.EQ.8) THEN
 569 : *  pas de menu
 570 :       ELSEIF (ICOD.EQ.9) THEN
 571 : *  pas de nouvelle image
 572 :          IBOP=IBOP+1
 573 :       ELSEIF (ICOD.EQ.10) THEN
 574 :          IBOP=IBOP+1
 575 :          ITYP=IOPER(IBOP)
 576 :          IBOP=IBOP+1
 577 :          NBIMAG=IOPER(IBOP)
 578 :       ELSEIF (ICOD.EQ.11) THEN
 579 : *  menu en blanc
 580 :       ENDIF
 581 :       goto 760
 582 : 
 583 : 
 584 : **    
 585 : C======================================================================
 586 :       ENTRY XMENU(LEGEND,NCASE,LLONG)
 587 : *     
 588 : *  MENU  on sauve le contenu
 589 : *     
 590 :       segact dessin*mod,dessic*mod
 591 :       KLEN=LEN(LEGEND(1))
 592 :       KCASE=NCASE
 593 :       KLONG=LLONG
 594 :       DO 800 II=1,KCASE
 595 :          KEGEND(1+KLONG*(II-1):KLONG*II)=LEGEND(II)
 596 :  800  CONTINUE
 597 : *  on rajoute une touche PS (certains cas seront a exclure)
 598 :       kcase=kcase+1
 599 :       KEGEND(1+KLONG*(kcase-1):KLONG*kcase)=' '
 600 :       KEGEND(1+KLONG*(kcase-1)+(klong-8)/2:KLONG*kcase)='Softcopy'
 601 : C#MC 05/01/99 utilite ? IDEFOR inconuu...
 602 : C      IDEFO=IDEFOR
 603 : *  ON SE MET DANS LE SEGMENT 0
 604 : *  CHANGEMENT SEGMENT CODE OPERATION 3 1 ENTIER
 605 :       NBOP=NBOP+2
 606 :       IF (NBOP.GT.NBOPD) THEN
 607 :          NBOPD=NBOPD+5000
 608 :          SEGADJ DESSIN
 609 :       ENDIF
 610 :       IOPER(NBOP-1)=3
 611 :       IOPER(NBOP)=0
 612 :       NBOP=NBOP+1
 613 :       IF (NBOP.GT.NBOPD) THEN
 614 :          NBOPD=NBOPD+5000
 615 :          SEGADJ DESSIN
 616 :       ENDIF
 617 :       IOPER(NBOP)=8
 618 :       RETURN
 619 : **    
 620 :       ENTRY XTRANI(ITYPI,NBIMAH)
 621 :       NBOP=NBOP+3
 622 :       IF (NBOP.GT.NBOPD) THEN
 623 :          NBOPD=NBOPD+5000
 624 :          SEGADJ DESSIN
 625 :       ENDIF
 626 :       IOPER(NBOP-2)=10
 627 :       IOPER(NBOP-1)=ITYPI
 628 :       IOPER(NBOP)=NBIMAH
 629 :       RETURN
 630 : **    
 631 :       ENTRY XTRIMA(IMAGI)
 632 :       NBOP=NBOP+2
 633 :       IF (NBOP.GT.NBOPD) THEN
 634 :          NBOPD=NBOPD+5000
 635 :          SEGADJ DESSIN
 636 :       ENDIF
 637 :       IOPER(NBOP-1)=9
 638 :       IOPER(NBOP)=IMAGI
 639 :       RETURN
 640 : **    
 641 :       ENTRY XFVALI(IFENI,IRESU,NH,NISO)
 642 :       segact dessin*mod,dessic*mod
 643 : *  sauver le nb d'iso
 644 :       MISO=NISO
 645 : *  CHANGEMENT DE VIEW PORT
 646 :       IF (IFENI.EQ.1) THEN
 647 :          NBOP=NBOP+2
 648 :          IF (NBOP.GT.NBOPD) THEN
 649 :             NBOPD=NBOPD+5000
 650 :             SEGADJ DESSIN
 651 :          ENDIF
 652 :          IOPER(NBOP-1)=7
 653 :          IOPER(NBOP)=IFENI
 654 :       ENDIF
 655 :       NH=31
 656 :       RETURN
 657 : **    
 658 : C======================================================================
 659 :       ENTRY XZOOM(IZOOM,XMI,XMA,YMI,YMA)
 660 : *  mise à jour du cadre
 661 : *  IZOOM=1    zoom
 662 : *  IZOOM=-1   zoom inverse
 663 : *  IZOOM=0    pan
 664 :       segact dessin*mod,dessic*mod
 665 :       if (izoom.eq.1) then
 666 :          XMIN=XMI
 667 :          XXAX=XMA
 668 :          YMIN=YMI
 669 :          YYAX=YMA
 670 :       endif
 671 :       if (izoom.eq.-1) then
 672 :          AXMIN=XMIN-(XMI-XMIN)*(XXAX-XMIN)/(XMA-XMI)
 673 :          AXXAX=AXMIN+(XXAX-XMIN)*(XXAX-XMIN)/(XMA-XMI)
 674 :          XMIN=AXMIN
 675 :          XXAX=AXXAX
 676 :          AYMIN=YMIN-(YMI-YMIN)*(YYAX-YMIN)/(YMA-YMI)
 677 :          AYYAX=AYMIN+(YYAX-YMIN)*(YYAX-YMIN)/(YMA-YMI)
 678 :          YMIN=AYMIN
 679 :          YYAX=AYYAX
 680 :       endif
 681 :       if (izoom.eq.0) then
 682 :          XMIN=XMIN-(XMA-XMI)
 683 :          XXAX=XXAX-(XMA-XMI)
 684 :          YMIN=YMIN-(YMA-YMI)
 685 :          YYAX=YYAX-(YMA-YMI)
 686 :       endif
 687 :       XMI=OXMIN
 688 :       XMA=OXXAX
 689 :       YMI=OYMIN
 690 :       YMA=OYYAX
 691 :       IBPD=0
 692 :       IBOPD=0
 693 :       IBCHRD=0
 694 :       RETURN
 695 : **    
 696 : C======================================================================
 697 :       ENTRY XINI(IRESU,ISORT,IQUALI,INUMNO,INUMEL,XMI,XMA,YMI,YMA)
 698 : *  RETOUR AU DESSIN INITIAL
 699 :       segact dessin*mod,dessic*mod
 700 :       XMIN=OXMIN
 701 :       XXAX=OXXAX
 702 :       YMIN=OYMIN
 703 :       YYAX=OYYAX
 704 :       ISORT=0
 705 :       IRESU=2
 706 :       IBPD=0
 707 :       IBOPD=0
 708 :       IBCHRD=0
 709 :       RETURN
 710 : **    
 711 : C======================================================================
 712 :       ENTRY XCHANG(IRESU,ISORT,ICHANG,JSEG)
 713 :       segact dessin*mod,dessic*mod
 714 :       IDSGT=0
 715 : *  affichage desaffichage num noeuds elements qual
 716 :       IF (ICHANG.EQ.1) THEN
 717 :          IBON=1
 718 :          IBOP=0
 719 :          IBCHR=0
 720 :          IBP=0
 721 :          JBOP=0
 722 :          JBCHR=0
 723 :          JBP=0
 724 :  300     CONTINUE
 725 :          IBOP=IBOP+1
 726 :          IF (IBOP.GT.NBOP) GOTO 350
 727 :          ICOD=IOPER(IBOP)
 728 :          IF (IBON.EQ.1) THEN
 729 :             JBOP=JBOP+1
 730 :             IOPER(JBOP)=IOPER(IBOP)
 731 :             IF (ICOD.EQ.1) THEN
 732 : *  xrlabl
 733 :                IBOP=IBOP+1
 734 :                JBOP=JBOP+1
 735 :                IOPER(JBOP)=IOPER(IBOP)
 736 :                NBCAR=IOPER(IBOP)
 737 :                CARACT(JBCHR+1:JBCHR+NBCAR)=CARACT(IBCHR+1:IBCHR+NBCAR)
 738 :                IBCHR=IBCHR+NBCAR
 739 :                JBCHR=JBCHR+NBCAR
 740 :                IBP=IBP+1
 741 :                JBP=JBP+1
 742 :                X(JBP)=X(IBP)
 743 :                Y(JBP)=Y(IBP)
 744 :                Z(JBP)=Z(IBP)
 745 :             ELSEIF (ICOD.EQ.2) THEN
 746 : *  chcoul
 747 :                IBOP=IBOP+1
 748 :                JBOP=JBOP+1
 749 :                IOPER(JBOP)=IOPER(IBOP)
 750 :             ELSEIF (ICOD.EQ.3) THEN
 751 : *  OUVERTURE SEGMENT
 752 :                IBOP=IBOP+1
 753 :                IF (IOPER(IBOP).EQ.JSEG) THEN
 754 :                   IBON=0
 755 : *   IL FAUDRA REPRENDRE LE DESSIN AU DEBUT
 756 :                   IBOPD=0
 757 :                   IBPD=0
 758 :                   IBCHRD=0
 759 : *  ON NE STOCKE PAS CE CHANGEMENT DE SEGMENT
 760 :                   JBOP=JBOP-1
 761 :                   GOTO 300
 762 :                ELSE
 763 :                   JBOP=JBOP+1
 764 :                   IOPER(JBOP)=IOPER(IBOP)
 765 :                ENDIF
 766 :             ELSEIF (ICOD.EQ.4) THEN
 767 : * polyline
 768 :                IBOP=IBOP+1
 769 :                JBOP=JBOP+1
 770 :                IOPER(JBOP)=IOPER(IBOP)
 771 :                N=IOPER(IBOP)
 772 :                DO 305 IIP=1,N
 773 :                   IBP=IBP+1
 774 :                   JBP=JBP+1
 775 :                   X(JBP)=X(IBP)
 776 :                   Y(JBP)=Y(IBP)
 777 :                   Z(JBP)=Z(IBP)
 778 :  305           CONTINUE
 779 :             ELSEIF (ICOD.EQ.5) THEN
 780 : * face
 781 :                IBOP=IBOP+1
 782 :                JBOP=JBOP+1
 783 :                IOPER(JBOP)=IOPER(IBOP)
 784 :                N=IOPER(IBOP)
 785 :                IBOP=IBOP+1
 786 :                JBOP=JBOP+1
 787 :                IOPER(JBOP)=IOPER(IBOP)
 788 :                DO 307 IIP=1,N
 789 :                   IBP=IBP+1
 790 :                   JBP=JBP+1
 791 :                   X(JBP)=X(IBP)
 792 :                   Y(JBP)=Y(IBP)
 793 :                   Z(JBP)=Z(IBP)
 794 :  307           CONTINUE
 795 : C+PPf 
 796 :                IBOP=IBOP+1
 797 :                JBOP=JBOP+1
 798 :                IOPER(JBOP)=IOPER(IBOP)
 799 : C+PPf 
 800 :             ELSEIF (ICOD.EQ.6) THEN
 801 : *  iso
 802 :                IBOP=IBOP+1
 803 :                JBOP=JBOP+1
 804 :                IOPER(JBOP)=IOPER(IBOP)
 805 :                N=IOPER(IBOP)
 806 :                IBOP=IBOP+1
 807 :                JBOP=JBOP+1
 808 :                IOPER(JBOP)=IOPER(IBOP)
 809 :                DO 309 IIP=1,N
 810 :                   IBP=IBP+1
 811 :                   JBP=JBP+1
 812 :                   X(JBP)=X(IBP)
 813 :                   Y(JBP)=Y(IBP)
 814 :                   Z(JBP)=Z(IBP)
 815 :                   IOPER(JBOP)=IOPER(IBOP)
 816 :  309           CONTINUE
 817 :             ELSEIF (ICOD.EQ.7) THEN
 818 : *  fvalis
 819 :                IBOP=IBOP+1
 820 :                JBOP=JBOP+1
 821 :                IOPER(JBOP)=IOPER(IBOP)
 822 :             ELSEIF (ICOD.EQ.8) THEN
 823 : *  menu
 824 :             ELSEIF (ICOD.EQ.9) THEN
 825 : *  changement image
 826 :                IBOP=IBOP+1
 827 :                JBOP=JBOP+1
 828 :                IOPER(JBOP)=IOPER(IBOP)
 829 :             ELSEIF (ICOD.EQ.10) THEN
 830 : *  initialisation animation
 831 :                IBOP=IBOP+2
 832 :                JBOP=JBOP+2
 833 :                IOPER(JBOP)=IOPER(IBOP)
 834 :             ELSEIF (ICOD.EQ.11) THEN
 835 :             ENDIF
 836 :          ELSE
 837 :             IF (ICOD.EQ.1) THEN
 838 : *  xrlabl
 839 :                IBOP=IBOP+1
 840 :                NBCAR=IOPER(IBOP)
 841 :                IBCHR=IBCHR+NBCAR
 842 :                IBP=IBP+1
 843 :             ELSEIF (ICOD.EQ.2) THEN
 844 : *  chcoul
 845 :                IBOP=IBOP+1
 846 :             ELSEIF (ICOD.EQ.3) THEN
 847 : *  OUVERTURE SEGMENT ON REVIENT EN TETE
 848 :                IBOP=IBOP-1
 849 :                IBON=1
 850 :                GOTO 300
 851 :             ELSEIF (ICOD.EQ.4) THEN
 852 : * polyline
 853 :                IBOP=IBOP+1
 854 :                N=IOPER(IBOP)
 855 :                IBP=IBP+N
 856 :             ELSEIF (ICOD.EQ.5) THEN
 857 : * face
 858 :                IBOP=IBOP+1
 859 :                N=IOPER(IBOP)
 860 :                IBOP=IBOP+1
 861 : C+PPf 
 862 :                IBOP=IBOP+1
 863 : C+PPf 
 864 :                IBP=IBP+N
 865 :             ELSEIF (ICOD.EQ.6) THEN
 866 : *  iso
 867 :                IBOP=IBOP+1
 868 :                N=IOPER(IBOP)
 869 :                IBOP=IBOP+1
 870 :                IBP=IBP+N
 871 :             ELSEIF (ICOD.EQ.7) THEN
 872 : *  fvalis
 873 :                IBOP=IBOP+1
 874 :             ELSEIF (ICOD.EQ.8) THEN
 875 : *  menu
 876 :             ELSEIF (ICOD.EQ.9) THEN
 877 : *  changement image
 878 :                IBOP=IBOP+1
 879 :             ELSEIF (ICOD.EQ.10) THEN
 880 : *  initialisation animation
 881 :                IBOP=IBOP+2
 882 :             ELSEIF (ICOD.EQ.11) THEN
 883 :             ENDIF
 884 :          ENDIF
 885 :          GOTO 300
 886 :  350     CONTINUE
 887 :          NBOP=JBOP
 888 :          NBP=JBP
 889 :          NBCHR=JBCHR
 890 :          ICHANG=0
 891 :          ISORT=0
 892 :          RETURN
 893 :       ELSE
 894 :          ISORT=1
 895 :          IRESU=JSEG
 896 :          ICHANG=1
 897 :          RETURN
 898 :       ENDIF
 899 : **    
 900 : C======================================================================
 901 :       ENTRY XTRBOX(HAUTX,HAUTY)
 902 : *  INUTILISE
 903 :       RETURN
 904 : **    
 905 : C======================================================================
 906 :       ENTRY XTREFF
 907 : *  INUTILISE
 908 :       RETURN
 909 : **    
 910 : C======================================================================
 911 :       ENTRY XVAL(IRESU,ISORT,ISO)
 912 : C#MC      IF (ISO.NE.0.AND.IDEFO.EQ.0) THEN
 913 :       IF (ISO.NE.0) THEN
 914 :          IRESU=10
 915 :          ISORT=1
 916 :       ENDIF
 917 :       RETURN
 918 : **    
 919 : C======================================================================
 920 :       ENTRY XMAJSE(IMAJ,IRESU,IQUALI,INUMNO,INUMEL)
 921 : *  INUTILISE
 922 :       RETURN
 923 : **    
 924 : **    
 925 : C======================================================================
 926 :       ENTRY XIMPR
 927 : *  INUTILISE
 928 :       RETURN
 929 : **    
 930 : C======================================================================
 931 :       ENTRY XTRTIN
 932 : *  INUTILISE
 933 :       RETURN
 934 : **    
 935 : C======================================================================
 936 :       ENTRY XFLGI
 937 : *  INUTILISE
 938 :       RETURN
 939 : **    
 940 : C======================================================================
 941 :       ENTRY XTRMFI
 942 : *  INUTILISE
 943 :       RETURN
 944 : **    
 945 : C======================================================================
 946 :       ENTRY XTRMES(CARAC)
 947 :       CHMESS=CARAC
 948 :       RETURN
 949 : **    
 950 : C======================================================================
 951 :       ENTRY XTRGET(PROMPT,REPLY)
 952 :       segact dessin*mod,dessic*mod
 953 :       LPROMP=LONG(PROMPT)
 954 :       LREPLY=LONG(REPLY)
 955 :       CHAINE=PROMPT
 955 :       CALL XVALIS(3,IRESV,NHH)
 956 :       IF(icosc.eq.1) then
 957 :        ico1=7
 958 :       else      
 959 :        ico1=8
 960 :       endif
 960 :       CALL XHCOUL(ico1)
 960 :       CALL XRGET(ICHAIN,LPROMP,ICHAIN,LREPLY)
 961 :       REPLY=' '
 962 :       IF (LREPLY.NE.0) REPLY=CHAINE(1:LREPLY)
 963 :       RETURN
 964 : **    
 965 : C======================================================================
 966 :       ENTRY XRCLIK(KCLICK)
 966 :       CALL XCLIK(KCLICK)
 967 :       END
 968 :  
 969 :  
 970 :  
 971 :  
 972 :  
 973 :  
 974 :  
 975 :  
 976 :  
 977 :  
 978 :  
 979 :  
 980 :  
 981 :  
 982 :  

© Cast3M 2003 - All rights reserved.
Disclaimer