      SUBROUTINE GSUWIN2 (X0,X1,Y0,Y1,iopt)
      INCLUDE 'Parametres.f'
c
c fenetre uniforme avec grandissement entier (utile pour les bitmap)
c
      REAL*4 X0,X1,Y0,Y1
      integer fact
c 
      call calclipmax(X0,X1,Y0,Y1,DXCLIP,DYCLIP)
c
      if (ipostscript.eq.1) then
        taille_x = .01*real(iprox0*nbpixx)
        taille_y = .01*real(iproy0*nbpixy)
        facteur_en_x = taille_x/(X1-X0)
        facteur_en_y = taille_y/(Y0-Y1)
        rfact = min(facteur_en_x,-facteur_en_y)
        fact = int(rfact)
        if (fact.le.0) then
          facteur_en_x = rfact
          facteur_en_y = -rfact
        elseif(iopt.eq.0) then
          facteur_en_x = real(fact)
          facteur_en_y = -real(fact)
        else
          ii = min(1,iopt)
          facteur_en_x = real(ii)
          facteur_en_y = -real(ii)
        endif
        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)
        idx=nint(taille_x)
        idy=nint(taille_y)
        call taille_fen(idx,idy,2)
        call def_zone(x0,x0,y0,y0,0)
        call def_zone(x0,x1,y0,y1,1)
      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
