	pro WINDOW_SET, WIN, Scale=Scale, Map=Map, $
		multi=multi, cursor=cursor, position=position, $
			button=button, cancel_mouse=cancel_mouse, $
				data=data,device=device,normal=normal, $
					show=show

;	This is WSET+Restore_scaling [+WSHOW]

if (not keyword_set(device)) and (not keyword_set(normal)) $
	then data=1

if keyword_set(show) then wshow,WIN,1

wset,WIN

if n_elements(Scale) gt 0 then scale,Scale,/rec

if n_elements(multi) gt 0 then !p.multi=multi

			IF n_elements(cursor) gt 0 THEN BEGIN
if n_elements(cursor) gt 1 then tvcrs,cursor(0),cursor(1), $
	data=data,device=device,normal=normal
if n_elements(cancel_mouse) gt 0 then $
	position=cursor_out(cursor,button=button, $
		data=data,device=device,normal=normal) else $
			position=cursor_out(button=button, $
		data=data,device=device,normal=normal)
			ENDIF

end
