;+
; Project     : SOHO - LASCO
;
; Name        : 
;
; Purpose     : 
;
; Category    : 
;
; Explanation : 
;
; Syntax      : 
;
; Examples    : 
;
; Inputs      : None
;
; Opt. Inputs : None
;
; Outputs     : None
;
; Opt. Outputs: None
;
; Keywords    : None
;
; Common      : 
;
; Restrictions:                                  
;
; Side effects: Not known
;
; History     : Version 1, 02-Sep-1995, B Podlipnik. Written
;
; Contact     : BP, borut@lasco1.mpae.gwdg.de
;-

PRO zoom_it, x, y, xs, ys, ifact, win1, win2, cross 


    x0 = 0 > FIX(x-(xs/(ifact*2)))       ;left edge from center
    y0 = 0 > FIX(y-(ys/(ifact*2)))       ;bottom

    nx = FIX(xs/ifact)                   ;Size of new image
    ny = FIX(ys/ifact)
    
    nx = nx < (!d.x_vsize - x0)     ;Check corners
    ny = ny < (!d.y_vsize - y0)
    x0 = x0 < (!d.x_vsize - nx)
    y0 = y0 < (!d.y_vsize - ny)

    IF nx LE 6 OR ny LE 6 THEN RETURN  ; may be don't need this. check it!
    WSET,win1
    a = TVRD(x0,y0,nx,ny)              ;Read image

    IF cross EQ 1 THEN BEGIN
     ;*** draw a cross 6x6 pixels in the center
     a(nx/2-3:nx/2+3,ny/2:ny/2) = 255    ;max(a)
     a(nx/2:nx/2,ny/2-3:ny/2+3) = 255    ;max(a)
    ENDIF

    WSET,win2
    ;tv,rebin(a,nx*ifact,ny*ifact)
    tv,rebin(a,nx*ifact,ny*ifact,sample=1)
    WSET,win1
RETURN
END
