SUBROUTINE GSUWIN (X0,X1,Y0,Y1) INCLUDE 'Parametres.f' c REAL*4 X0,X1,Y0,Y1 c call calclipmax(X0,X1,Y0,Y1,DXCLIP,DYCLIP) c if (ipostscript.eq.1) then if (igarde_taille_fen.ne.1) then call x11szscrn(idx,idy) display_characteristics(1) = idx display_characteristics(2) = idy endif taille_x = real(display_characteristics(1)) taille_y = real(display_characteristics(2)) facteur_en_x = taille_x/(X1-X0) facteur_en_y = taille_y/(Y0-Y1) fact = min(facteur_en_x,-facteur_en_y) facteur_en_x = fact facteur_en_y = -fact c origine_x = -X0*facteur_en_x origine_y = -Y1*facteur_en_y taille_x = facteur_en_x*(X1-X0) taille_y = facteur_en_y*(Y0-Y1) ccc iprox = 1 + int(100.*taille_x/real(nbpixx)) ccc iproy = 1 + int(100.*taille_y/real(nbpixy)) ccc call taille_fen(iprox,iproy,0) c idx=1+int(taille_x) c idy=1+int(taille_y) idx=nint(taille_x) idy=nint(taille_y) call taille_fen(idx,idy,2) ccc call def_zone(x0,x0,y0,y0,0) call def_zone(x0,x1,y0,y1,1) pixx = abs(x1-x0)/real(idx) pixy = abs(y1-y0)/real(idy) else x0_clip = x0 x1_clip = x1 y0_clip = y0 y1_clip = y1 x0_clip2 = x0_clip - dxclip*.02 x1_clip2 = x1_clip + dxclip*.02 y0_clip2 = y0_clip - dyclip*.02 y1_clip2 = y1_clip + dyclip*.02 facteur_en_x = taille_x/(X1-X0) facteur_en_y = taille_y/(Y1-Y0) fffact = min(facteur_en_x,facteur_en_y) facteur_en_x = fffact facteur_en_y = fffact origine_x = -X0*facteur_en_x origine_y = -Y0*facteur_en_y taille_x = facteur_en_x*(X1-X0) taille_y = facteur_en_y*(Y1-Y0) endif c end