CLRCTRL.C
CLRMENU.C
CMDDISP.C
CMDPARSE.C
CTRLGC.C
DRAWVECT.C
IEEEVAX.C      X
IMGCHECK.C
IMGNEW.C
IMGPARAM.C
IMGREAD.C
IMTLOVRLY.C
IMTOOL.H
IMTOOLRC.
IRAFDISP.C
IRAFFDBK.C
IRAFIMTL.C
IRAFIO.C
IRAFPIPE.C
MAINEVNT.C
MGFYCTRL.C
MGFYVAL.C
READARR.C
READFITS.C
RGNCTRL.C
RGNDRAW.C
[.HFILES]CONSTANT.H
[.HFILES]CONTROL.H
[.HFILES]IMTOOL.H
[.DEFS]COLORMAP.DEF

			FILES MODIFIED BY DHG

PROBLEM:  
IEEE-754 32-bit floating point numbers contained in FITS files
were being displayed with pixel intensities too small by a factor of 4.
SOLUTION:  
The parameter ARR_IEEER4 was added to the file [.HFILES]CONSTANT.H.
The file MGFYVAL.C, Subroutine get_pixel_val was modified to respond 
to ARR_IEEER4.  Action is the same as for ARR_R4.
The file READFITS.C, Subroutine init_fits was modified to by replacing 
ARR_R4 with ARR_IEEER4.
The file MGFYCTRL.C, Subroutine label_file_coords was modified by adding 
the parameter ARR_IEEER4.  Action is the same as for ARR_R4.
The file READARR.C, Subroutine read_array was modified to respond to case
ARR_IEEER4 and call subroutine ieee_vax.
The new file IEEEVAX.C was created and its name added to make.lst.

PROBLEM:
Numbers with exponential notation were being cut off at the right end of 
the tracking window on a VAXstation with 100 dpi.
SOLUTION:
The file MGFYCTRL.C, Subroutine label_file_coords was modified by 
replacing the number 26 with 28 in the call to XDrawImageString.

PROBLEM:
If a file name with a capitalized FITS extension was entered, it was ignored.
SOLUTION
The file IMGCHECK.C, Subroutine check_image was modified to allow 
recognition of a capitalized FITS extension.

PROBLEM:
There was no provision for referencing the center of the first pixel
as 1.5, 1.5, as in the MIIPS convention.
SOLUTION:
The subroutine parse_rotate in file CMDDISP.C was modified to make
img.index_base = 0, 1, and 2, for the switches zero, half, and one, 
respectively.  These correspond to an image display, the IRAF convention,
and the MIIPS convention, respectively.  Note that the former "one" switch
now means something different.  The effect of the former "one" switch is
accomplished by use of the "half" switch.  This relationship is more intuitive.
The subroutine init_img in IMGPARAM.C was modified to respond to values
of image->index_base = 0, 1, and 2, and adjust the starting pixel 
coordinates in the corner of the map accordingly.
The subroutine usage, in CMDPARSE.C was modified to print a message
about the switches zero, half, and one, which are for the starting 
corner equal to (0.0, 0.0), (0.5, 0.5), and (1.0, 1.0), respectively.

PROBLEM:  
When a single line of data with a number of pixels less than 
the number of bytes in a line of the buffer was sent, the image appeared
in the pan box and zoom box, but not in the display box.  If the image 
was panned zoomed or panned, the image was then displayed.
SOLUTION:  
It was observed that coord->bd.dstYhght in map_buf_subzoom
was always zero under these conditions, which then prevented the display
buffer from being loaded.  This error propagated from imtool_input in
IRAFIO.C, where *y2 was being prevented from incrementing.  The incremental
increase now has a minimum value of 1.
 
PROBLEM:  
When a non-IRAF image processing program, e.g., MIIPS, used the 
imtool protocol, the text "(IRAF)" appeared below the file name.  
SOLUTION:
The constant IOP_MIIPS was introduced into the file [.HFILES]CONTROL.H
In the subroutine imtool_response, in IRAFIMTL.C, the parameter imhead->t
in the unused imtool header labeled, ZOOM/PAN, is loaded into 
control.look_and_feel.  This is now labled LOOK_FEEL.
In the subroutine show_filename, in IMGNEW.C, an if statement involving
img.file_type == SOP_Imtool && control.look_and_feel == IOP_MIIPS is used
to determine whether to write the text "(MIIPS)".  IMTOOL.H was updated
accordingly.

PROBLEM:
When a FITS file was loaded prior to an array type file, the scaling and 
bias from the FITS file were retained, causing the pixel intensity values 
to be incorrect for the array type file.
SOLUTION:
In the subroutine init_image, in IMGREAD.C, img.fscaled was set equal to 0,
for the case image.file_type=SOP_Array.

PROBLEM:
If a file with a range of values was loaded via the imtool protocol and the
cursor was set on the pixel with the actual minimum or maximum intensity 
value, or the IRAF clipped minimum and maximum intensity value, the
intensity value displayed was prefixed with < or >, respectively.
SOLUTION:
In subroutine label_file_coords, in MGFYCTRL.C, the format statement was 
changed from < and > to <= and >=, respectively.

PROBLEM:
If the desktop width was larger than the width of the buffer, under an
Imtool load, the image would be initially aligned with the left side of the
desktop, be rolled over, and display incorrect coordinates.  Operation of
the zoom or pan controls would then correct the display.
SOLUTION:
In subroutine disp_subpiece in IRAFDISP.C, the statement if( coord.bd.block 
< 0 ) was removed so that set_dispoff(...) is always called.

PROBLEM:
When the cursor coordinates are sent back to the communicating program via
the Imtool protocol, only the file coordinates are included.  MIIPS, for
example, needs desktop window and frame buffer coordinates as well.
SOLUTION:
The subroutine trigger_curpos_to_iraf in IRAFFDBK.C was modified to calculate,
encode into ASCII, and send the necessary coordinates.

PROBLEM:
When several images are loaded into the frame buffer, such as is possible with
MIIPS, if the previous images were being displayed at a non unity zoom, the
new additional image would come up at unity zoom and the old images would be
displayed at their old zoom.
SOLUTION:
In subroutine imtool_newimage in IRAFIMTL.C, the image was redrawn if 
the old zoom was not unity.

PROBLEM:
In MIIPS, the capital lock key is often used.  If not unlocked this would cause
tracking of coordinates and the magnifier to stop.  However, tracking was
desired to be on even with the capital lock key on.
SOLUTION:
In subroutine control_event_loop in MAINEVNT.C, when control.look_and_feel
equals IOP_MIIPS, only the ShiftMask is used, not both that and the LockMask.

PROBLEM:
When SAOimage is started with switch +magnifier, magnifier tracking does not
take place.
SOLUTION:
In subroutine parse_etc in CMDPARSE.C, the logic for magnifier tracking was
corrected.

PROBLEM:
It was desired to have several kinds of cursors be displayed on the screen
under external control.  It was also desired to write into the displayed 
image at locations where editing had most recently been done, outlining these
areas with circles or rectangles.
SOLUTION:
A new imhead.subunit equal to 13 was introduced in read_imtool_packet in 
IRAFPIPE.C, and in imtool_response in IRAFIMTL.C, corresponding to OVERLAY.
A new subroutine, do_overlay_from_imtool, in IMTLOVRLY.C is called from
imtool_response.  This subroutine interprets the data sent via the Imtool
protocol and calls the routines which draw and erase the various 
built in cursors in various colors.  Annuli and regions may be drawn as well.
It also calls the new subroutine draw_on_frame in DRAWVECT.C which can
draw circles and rectangles in the frame buffer.  The actual drawing of
vectors in this buffer is carried out in the new subroutines vect_on_frame 
and display_vect_on_frame in DRAWVECT.C
The subroutine reset_regions in RGNCTRL.C was declared as not being static,
in order that it could be called from do_overlay_from_imtool.
In subroutines label_region and label_region_cycle_magnifier in RGNDRAW.C, 
adjustments of 0.5 pixels are made when control.look_and_feel equal IOP_MIIPS
so that the region cursor coordinates are displayed correctly.  

PROBLEM:
There wasn't a way to load a new color lookup table into SAOimage from a
connecting program.  Also, the available lookup tables did not display enough
contrast between closely spaced intensity levels, and did not display enough
rollover.
SOLUTION:
In the file [.DEFS]COLORMAP.DEF, a new lookup table was installed with adjacent 
colors having high constrast and exhibiting 5 cycles of rollover.  This was
given the name e_map.  Another lookup table, black and white with 8 cycles
of rollover and named f_map was also added.  The preceding 2 color tables,
c_map and d_map, were uncommented.  In subroutine fetch_colortable in 
CLRMENU.C, e_map and f_map were registered as MOP_Init_I and MOP_Init_J.
The 2 existing color tables that were newly uncommented, were registered as 
MOP_Init_G and MOP_Init_H.  MOP_Init_J was registered in CONSTANT.H.
In the subroutine imtool_response, in IRAFIMTL.C, the case LUT was
introduced to give remote access to the color LUTs.  The parameter imhead->z
contains the MOP_Init_x values which are passed to new_color_table.
Because new_color_table was declared as static in CLRCTRL.C, this module
was changed also.

PROBLEM:
On VMS systems, an annoying message about not finding fonts 6X13 and 9X15
is received.
SOLUTION:
In subroutine open_font in file CTRLGC.C, ifndef VMS is used prevent this 
message.


