pro uvspstruc, struc=struc

 ;=============================================================================
 ;
 ; The structure of structures, STRUC, holds values used by multiple routines
 ;
 ;=============================================================================

 use = { user,    tempscal:0,  $  	; remembers last scaling (lin,log,sqrt)
		  tempipc:5,   $	; the doppler opt. choosen
		  tempnfr:1,   $	; number of repeat frames displayed
		  tempfrst:1,  $	; first repeat frame for display
		  temppixS:0d, $	; seperate image pixel size
		  temppixA:0d }         ; averaged image pixel size

 pla = { place,   xpos:0d,       $	; left edge of image placement
		  ypos:0d,       $	; bottom edge of image placement
		  xfact:0d,      $	; factor to magnify for X direction
		  yfact:0d,      $      ; Y direction magnification factor
;6/93		  win:0.0d,      $	; part of window image uses
 		  tempwinx:0.0d, $	; IDL window size in X direction
		  tempwiny:0,    $	; IDL window size in X direction
		  xdiff:0d,      $      ;
		  ydiff:0d }            ;

 tec = { tectors, tempdet:0, $  ; save last det displayed
		  d1:0,      $	; det. array position of first det to be displayed
		  d2:0,      $	; det. array position of last det to be displayed
		  tempnd:0,  $	; number of detectors to be displayed
		  utstart:strarr(5) }	; UTPLOT /YOHKOH format of det starts

 dpp = { doppler, vel:0,   $  ; set to show velocity
		  sum:0,   $  ; set to added both det.
	 	  all:0,  $  ; set to show all det normally
		  jdet:0,  $  ; set to the 1st or 2nd det, when reques 1 det
		  doppto:1d, $  ; red/blue intensity distribution
		  twodet:0 }  ; set when have 2 det and exp. type 2 or 4
                            

 wnd = { windows, window: intarr(127),  $  ; an index to store list of windows 
					$  ; used by UVSP but not deleted
					$  ; 1 means saved window 
				$	; For the following variables:
				$	;   -2=window is not in use
				$	;   -1=window reused for something else
				$	;   positive number is window index
				$	;	     for given type of function
		  imagewin: -2, $ 	; imaging window is available 
		  headwin:  -2, $ 	; header window is available
		  plotwin:  -2, $	; plotting window is available 
	   	  areawin:  -2, $	; plot image pixel area window available
		  slicewin: -2, $	; plot slice of data window available
		  moviewin: -2, $	; movie display window is available
		  pixmapwin:-2 }	; movie pixmap window is available 

 nam = { names,   expno:'', $           ; full name of exp. as known by system
		  expnu:'', $           ; just the number part of exp. name,
			    $		;  unless it was  manually entered then
			    $		;  could be extention and version also.
		  disk:'any location:', $  ; [node] disk location of data
		  cat:'any location:' }	; location and name of UVSP catalog

 dim = { mension, nx:0,   $	; X dimension of data array 
		  ny:0,   $	; Y dimension of data array 
		  wava:1, $	; number of wavelength used
	 	  polo:1, $ 	; number of polarimeter used
	 	  nrpt:1, $	; number of experiment repeats
		  ndet:1 }      ; number of detectors used

 mov = { action,  movframe:0, $
		  numfram:0,  $
		  movie_str:['Use mouse to click item',	$
		             'SAVE MOVIE FRAME',       	$
			     'SHOW MOVIE',             	$
			     'ERASE MOVIE',		$
		      	     'SAVE COMPLETED MOVIE',    $
			     'RESTORE SAVED MOVIE',     $
			     'EXIT'],			$
		  movxsize:512, $
		  movysize:512} 

 misc = { odd_end, xaxis_start:0d, $	; the original x-axis start range
		   xaxis_end:0d,   $	; the original x-axis end range
		   utstart:strarr(5) }	; UTPLOT /YOHKOH format of det starts
                                                               


 ; this is the structure of structures
 struc = {comon,  st1:use, st2:pla, st3:tec, st4:dpp, st5:wnd, $
		  st6:nam, st7:dim, st8:mov, st9:misc}


end
