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