1 SUBROUTINE GSUWIN (X0,X1,Y0,Y1) 2 INCLUDE 'Parametres.f' 3c 4 REAL*4 X0,X1,Y0,Y1 5c 6 call calclipmax(X0,X1,Y0,Y1,DXCLIP,DYCLIP) 7c 8 if (ipostscript.eq.1) then 9 if (igarde_taille_fen.ne.1) then 10 call x11szscrn(idx,idy) 11 display_characteristics(1) = idx 12 display_characteristics(2) = idy 13 endif 14 taille_x = real(display_characteristics(1)) 15 taille_y = real(display_characteristics(2)) 16 facteur_en_x = taille_x/(X1-X0) 17 facteur_en_y = taille_y/(Y0-Y1) 18 fact = min(facteur_en_x,-facteur_en_y) 19 facteur_en_x = fact 20 facteur_en_y = -fact 21c 22 origine_x = -X0*facteur_en_x 23 origine_y = -Y1*facteur_en_y 24 taille_x = facteur_en_x*(X1-X0) 25 taille_y = facteur_en_y*(Y0-Y1) 26ccc iprox = 1 + int(100.*taille_x/real(nbpixx)) 27ccc iproy = 1 + int(100.*taille_y/real(nbpixy)) 28ccc call taille_fen(iprox,iproy,0) 29c idx=1+int(taille_x) 30c idy=1+int(taille_y) 31 idx=nint(taille_x) 32 idy=nint(taille_y) 33 call taille_fen(idx,idy,2) 34ccc 35 call def_zone(x0,x0,y0,y0,0) 36 call def_zone(x0,x1,y0,y1,1) 37 pixx = abs(x1-x0)/real(idx) 38 pixy = abs(y1-y0)/real(idy) 39 else 40 x0_clip = x0 41 x1_clip = x1 42 y0_clip = y0 43 y1_clip = y1 44 x0_clip2 = x0_clip - dxclip*.02 45 x1_clip2 = x1_clip + dxclip*.02 46 y0_clip2 = y0_clip - dyclip*.02 47 y1_clip2 = y1_clip + dyclip*.02 48 facteur_en_x = taille_x/(X1-X0) 49 facteur_en_y = taille_y/(Y1-Y0) 50 fffact = min(facteur_en_x,facteur_en_y) 51 facteur_en_x = fffact 52 facteur_en_y = fffact 53 54 origine_x = -X0*facteur_en_x 55 origine_y = -Y0*facteur_en_y 56 taille_x = facteur_en_x*(X1-X0) 57 taille_y = facteur_en_y*(Y1-Y0) 58 endif 59c 60 end 61