!***********************************************************            
      subroutine zoomnew(xscrn,yscrn,xscrn1,yscrn1,iflag)
!                                                                       
      USE BLK1MOD
!      INCLUDE 'BLK1.COM' 
      character*1 iflag
!                                                                       
!                                                                       
!ipk jun96 add zoomj                                                    
      character*43 zoomh,zoomj 
      character*23 zoomi 
!ipk jan98                                                              
      CHARACTER*80 lind 
      data zoomh/' Zooming, click and drag to form rectangle'/ 
      data zoomi/' Click right if size OK'/ 
!ipk jun96 add zoomj                                                    
      data zoomj/' Double click, click second point         '/ 
!                                                                       
!                                                                       
   80 CALL CLRBOX 
      CALL SYMBL(0.,7.70,0.20,zoomh,0.,43) 
                                                                        
!jan09      xcc = 5.00
!jan09      xp =  5.00 
      xcc = 5.00*hsize/10.
      xp =  5.00*hsize/10. 
      ycc = 3.5
      yp =  3.5 
!                                                                       
!  Got cursor location                                                  
!                        
      if(iflag .eq. 'r') then                
!  This option is scaling a window                              
!                                                                       
!                                                                       
!  Look for a screen size                                               
!                                                                       
          xsiz=abs(xscrn1-xscrn) 
          ysiz=abs(yscrn1-yscrn) 
!ipk jun96  test for zero sizes                                         
          if(xsiz .lt. 0.001  .or.  ysiz .lt. 0.001) then 
            CALL CLRBOX 
            CALL SYMBL(0.,7.70,0.20,zoomj,0.,43) 
            return
          endif 
          if(xscrn1 .lt. xscrn) xscrn=xscrn1 
          if(yscrn1 .lt. yscrn) yscrn=yscrn1 
          fact=HSIZE/xsiz 
          if(7.5/ysiz .lt. fact) fact=7.5/ysiz 
!jan09          if(8./ysiz .lt. fact) fact=8./ysiz 
!jan09          xscrn=xscrn+5./fact 
          xscrn=xscrn+xcc/fact 
          yscrn=yscrn+3.5/fact 
          xp=xscrn 
          yp=yscrn 
          CALL CLRBOX 
!          CALL SYMBL(0.,7.70,0.20,zoomi,0.,22)
          go to 250 
      elseif(iflag .eq. 'w') then
          call rescal
          return
      elseif(iflag .eq. 'y')then
          fact=0.5
      elseif(iflag .eq. 'x') then
          fact=0.25
      elseif(iflag .eq. 'v')then
          fact=1.0
          xp=xp-5.
      elseif(iflag .eq. 'u') then
          fact=1.0
          xp=xp+5.
       elseif(iflag .eq. 't')then
          fact=1.0
          yp=yp+3.5
      elseif(iflag .eq. 's') then
          fact=1.0
          yp=yp-3.5
      elseif(iflag .eq. 'd') then
          fact=1.0
          xp=xp-xscrn
		  yp=yp-yscrn
      endif
      do i=1,np 
        if(cord(i,1) .gt. void) then 
          inskp(i)=0 
        endif 
      enddo
      do i=1,ne 
        if(imat(i) .gt. 0) then 
          ieskp(i)=0 
        endif 
      enddo
  250 continue
      pscale = pscale/fact 
      xmino=xmin 
      ymino=ymin 
!                                                                       
      xmin = xp - (xcc*pscale) 
      ymin = yp - (ycc*pscale) 
!                                                                       
      CALL PLOTOT(0) 
      if(nmess .eq. 11) call pltpt
      return 
      END                                           
