Revision History
----------------

Rev: 1/2/92  (version 2.00)
-----------------------------
*** SUN Rasterfile support         (Dave Heath  (heath@cs.jhu.edu))

fixed unclosed comment in xv.h	   (Paul Close (pdc@sgi.com))

fixed infinite loop in Imakefile   (Kjetil Jorgensen  (jorgens@lise.unit.no)

fixed problems in Imakefile (bitmaps.h wasn't being rebuilt)
				(Jonathan Kamens  (jik@pit-manager.mit.edu))

additional bug fixes/workarounds for 24/32-bit TrueColor displays
				(Dave Gregorich (dtg@csula-ps.calstatela.edu))

include string.h or strings.h based on 'SYSV' flag
				(Kevin Brown  (brown@hpbsm15.boi.hp.com))

bogus command line parsing ('-autogamma' wouldn't work)
				(Doug Washburn  (washburn@hpmpea2.cup.hp.com))

fixed 4-bit X code to work on MSBFirst machines
				(Stefan Esser  (se@ikp.Uni-Koeln.DE))

mods for HPUX 7.0		(Jan D.  (jhd@irfu.se))

added window classes 'XVroot', 'XVcontrols', 'XVdir', 'XVinfo', and 'XVcedit',
	so Motif users can do things like this:

	Mwm*XVroot*clientDecoration:            none
	Mwm*XVcontrols*clientDecoration:        -resizeh
	Mwm*XVdir*clientDecoration:            -resizeh -maximize
	Mwm*XVcedit*clientDecoration:           -resizeh -maximize
	Mwm*XVinfo*clientDecoration:            -resizeh -maximize

	Also, WM_DELETE_WINDOW is now set up in the WM_PROTOCOLS 
	property, allowing the 'close' menu selection under MWM to
	close an XV window without terminating the application.
				(Jan D.  (jhd@irfu.se))

slow 24-to-8 conversion was moving the image down 1 scan-line
				(Satoshi Asami  (asami@is.s.u-tokyo.ac.jp))

mods for MIPS machines	  (David Boulware  (dgb@landau.phys.washington.edu))

Ability to LOAD pictures that weren't specified on the command line

fixed bug in CheckForConfig()

twm workaround from patchlevel 2 now only turned on if '-twmkludge' option is
	specified.  Was causing problems on OpenLook 2.0 systems

directories and symbolic links are now sorted together at the top of
	the 'xv directory' list

fixed crashes when 'AutoCropping' in conjunction with '-root' option

file format/color buttons in Directory window are now set whenever an image
	is loaded.  (Set to the format/color of the loaded image.)

clicking anywhere inside the Info box will now close it

added support for up/down arrows, page up/down, home, and end keys when
	mouse is in control window or directory window (for operating
	the scrollable list thingy)

changed 'Return' key binding to mean 'display currently selected picture'
	rather than 'Next'

added binding of Tab key to 'Next' function

'-wait' now waits until picture is fully up on screen before starting timer

'-wloop' option added.  Causes '-wait' slideshow to loop at end

added 'hagan-style' tiling on the root window.  '-root', '-center', and
	'-rpat 0'  (the default) will now draw an image centered on the
	root window, with images going off the screen in all 4 directions

	(Unlike 'normal' ('-root' only) tiling, which has one image
	pinned in the top-left corner of the screen, and subsequent
	images going off the screen ONLY on the bottom and right sides)

added '-maxpect' option.  (An abbreviation for '-center -fixed -max')
	makes the image as large as possible, without changing the
	aspect ratio.  Only relevant when used in conjunction with 
	'-root'.  (When not using '-root', both '-max' and '-maxpect' do
	the same thing (as large as possible without changing the aspect).
	When USING '-root', '-max' makes the image the size of the screen,
	in all likelyhood changing the aspect ratio)

added '-olwm' option (and xv.olwm resource) for people using Sun's OpenLook
	window manager.  Makes the window behave correctly when resized via
	any of the xv resizing commands.

added new, slicker-looking icon.  The old one was outside Motif's accepted
	range of icon sizes.

SMOOTHING controls (Smooth, Dither, and Raw buttons) added

added '-cursor' option (and xv.cursor resource).  Allows you to pick a 
	different cursor for the image window (instead of the 
	default crosshair cursor)

various modifications to work somewhat better with tvtwm (or other
	virtual window managers)
		Hitoshi Saji	saji@is.s.u-tokyo.ac.jp
		Tetsuya Ikeda	tetsuya@is.s.u-tokyo.ac.jp
		Satoshi Asami	asami@is.s.u-tokyo.ac.jp

fixed up some multiple-redraw bugs, for improved speed

Added spiffy 'hue' and 'saturation' dials to cedit box

New format for '-GAMMA' command line option and gamma resources.  Fully
	specifies state of gamma controls, including 'lines/spline' and
	'rgb/hsv' modes

Improved 'undo' handling in Gamma box.

Added 'reduced' color save.  Used in conjunction with the '-nc' command
	line option.  Saves the image more-or-less 'as shown', rather than
	"as it's supposed to be".  For example, you can now save bizarrely
	stippled pictures by doing something like '-nc 0 -wh red -bl blue'
	on the command line, and then saving the image in 'reduced color'.


added '-adither', '-asmooth' options (and 'xv.autoDither', 'xv.autoSmooth'
	resources) to automatically dither or smooth the image upon 
	loading it.  Mainly for use the case where you want XV to 
	load an image onto the root window and go away without any user
	intervention.  (Like you might put in a startup script.)

added some X error handling so that XV doesn't blow up (ungraciously) when
	you're using '-root' on an X terminal that doesn't have enough
	memory to do a full-screen root image

code reorganization:  xv.c and xvmisc.c have been split into (xv.c, xvevent.c,
	xvroot.c) and (xvmisc.c, xvimage.c, xvcolor.c, xvsmooth.c) 
	respectively.  The files were getting annoyingly large.

added colormap editing capabilities to the gamma box
	Colors can be edited in either HSV mode or RGB mode
	You are modifying the original colormap of the image, BEFORE
		the '-mono' or '-rv' options are applied, BEFORE
		any GAMMA correction is applied, and before it's
		determined how to get the image on the screen.
		As a result, it's best to edit colors when the GAMMA
		controls are set to 'Linear'
	You can select the color to be edited by clicking in the colormap
		area of the GAMMA box, or by clicking in the image window
		(in which case the color selected will match the last pixel
		value you displayed)
	Using '-rw' mode will generally speed things up, but isn't
		necessary.

added colormap 'grouping'.  Use Button3 to add/delete color cells from the
		current group.  Hold shift key down and the image regeneration
		will be delayed until you let go of the shift key.  (normally
		the image would be redrawn every time you released Button3.)
		This allows you you quickly group multiple pixels.

added 'cut buffer' usage.  Whenever you track pixel values (by clicking the
	left button in the image window), the last pixel values are put in 
	the X cut buffer, so that you can paste them into your own program,
	an xterm window, or whatever.  Useful if you're using XV to choose
	'points-of-interest' to be used as input to another program.

	Also, if you click on the gamma values (above the graph in the 
	gamma window), those values will be put in the cut buffer as well.
	(Handy for setting default values for the Gamma resources.)

added a slightly-improved 'cropping' rectangle.  Should show up better on some
	pictures.

added hsv pixel display.  When tracking pixel values in the image window
	(with the left mouse button), the values will either be displayed
	as R,G,B components (0-255), or as HSV components (0-359, 0-100, 0-100)
	This is based on the setting of the HSV/RGB switch in the Gamma box.

added a 'Randomize Colors' button.  (keyboard equiv: 'R').
	Causes the entire colormap of the current picture to be
	randomized.  Groupings *will* be respected, however.  (ie, all pixels
	in a group will still have the same color, albeit a new one).  For
	amusing effects, do some by-hand color reduction (by grouping all
	similar colors), then do the randomize function.  

added an 'Undo All' button in the Gamma box.  Undoes all changes made to the
	image's colormap and clears all groupings.

added '-hsv' and '-rgb' switches (and xv.hsvmode resource (boolean)) to
	allow user to set initial hsv/rgb mode.  By default, program uses
	RGB.

fixed 'shift key' bug with regards to entering filenames in dir window

'enter' in file i/o window now opens the currently selected directory

fixed bugs on 1-bit displays (fish cursor didn't flap during re-ditherization,
	CMap wasn't properly refreshed after loading new pic)

Smooth/Dither now sets 'Current Size' RButt in file i/o box.  (Need to save
	at current size to save 'smoothed' picture.)

BadAccess errors cause by XFreeColors are now ignored, as this is simply a 
	sign of a busted X server, and happens when multiply-allocated 
	colors are freed more than once.  (like they're supposed to be)
	Should make '-bfc' option obsolete.

Current Size RButt ripped out.  (Always saves at current size)

flapping fish cursor added during PBM/PGM/PPM file i/o

created GRAF type

MASSIVE modifications to GAMMA box

Gamma box renamed 'Color Editor' box ('cedit')

Added direct numeric gamma input to GRAF boxes

Created HDIAL controls

Changed non-range HDIAL to be a hue/saturation control

Created CBUTT check boxes

Added 'drag the whole range around' feature in range HDIALs

Added -nopos, -fgeom, and -fmap command line options (and resources)

Fixed 'crop near corner' graphics bug

Fixed multiple redraw bug, with any luck.

Added '-2xlimit' option and resource.  Allows the image window to be larger
	than the screen (up to 2x).  *NOT* recommended unless your WM
	is capable of operating windows without visible borders.  (ie, you'll
	need some meta-mouse-button action, ala twm/uwm...)

Added rudimentary GIF89 reading.  (Jon Brinkmann, jvb7u@astro.Virginia.Edu)

Changed ISTR_INFO to be more to Hagan's liking.  
	(eg  "320x200 GIF87.  Got all 37 colors.")

Fixed some probs in xvsunras.c
	(didn't understand RT_FORMAT_RGB, and RT_BYTE_ENCODED 8-bit
	 rasterfiles didn't load correctly, nor did it handle odd-width
	 24-bit images correctly)

Added POSTSCRIPT OUTPUT and PostScript Box  (7/6/91)
	Drag the image window around on the page with the mouse.  The scale
	controls are used for stretching.  Note:  if you use the arrow keys
	(regular and shifted), you can get precise positioning control.

Added GIF89 aspect ratio handling, warning message about skipped extensions,
	PlainText block handling (doesn't do anything with it)

Ripped out the '-fish' option and related code.  Never worked right anyway.

Added ability to type long strings in 'filename' field of dir box.

Split 'file i/o' button into two buttons 'Load' and 'Save'.  Directory box
	is now either a 'Load box' or a 'Save box', depending.  (^L and ^S
	are the accelerators).

Added ability to type pathnames in 'filename' field.  And 'cd-ing' to different
	directories directly without going through pesky UI.

Added 'popup' windows.  (The computer seems to be on fire.  <Ok> )

Stretched ctrlW so that 'helvetica' font would still fit (Ultrix 4.2 doesn't
	include 'lucida' still...)

Added 'close' (via mwm menu) handling to PostScript window and PopUp window.

Added wait cursor during directory-reading (whenever you change directories)

Fixed PostScript file output (to have correct comments)

Added 'maxpect' button in PS window.

Hooked up remaining buttons in ColEdit window  (undo, redo, 
	brite, dim, sharp, dull)

Got rid of 'recolor' operations when non-visible changes made to Graf's
	(changes of less than '2' aren't visible due to coordinate halving)

Added 'max contrast' button to gamma window

Added 'C' and 'R' keyboard equivs for 'MaxCnt' and 'Reset' respectively

Added 'default' picture (xvdflt.c)

Added 'Flip H' and 'Flip V' buttons ('h' and 'v' keyboard equivs)

Redesigned ctrl window somewhat

When you 'Load' files (via the Load dialog box), the file names are stuck
	in the 'ctrlW' list for E-Z Re-Viewing...

Added ability to 'reload' current picture (by double clicking on its entry
	int the ctrl window list)

Added 'Delete' command.  ('^D' keyboard equiv)

Mods to work (better) on Apollo systems
				(Robert Goodwill (robert@earth.cs.jcu.edu.au))

Added support for 16-bit displays
				(David Elliot    (dce@smsc.sony.com))

Improved 24-to-8 color compression routines
				(Tom Lane	 (Tom.Lane@g.gp.cs.cmu.edu))

Improved color selection algorithm
				(Tom Lane	 (Tom.Lane@g.gp.cs.cmu.edu))

Flag resources now accept 'on', '1', 'true', 'yes' in either u/l case
				(Chris Weikart   (weikart@prl.dec.com))

Fixed potential overflow bug in linear interpolation code
				(Chris Weikart   (weikart@prl.dec.com))

Added Motif-Style 3-d buttons

Added 'Auto-Reset' check box in ColEdit window

Optimization to ColEdit:  if changing a control hasn't actually
	affected the 'desired colormap', don't bother applying the change

Changed 'graf' controls:  you can now hold down the shift key and modify them
	to your hearts content.  The image is not actually recomputed until
	you let go of the shift key.

Added '-hi' and '-lo' options ('highcolor' and 'lowcolor' resources) for 
	setting the 'other' two colors on the buttons.

Added '-v' option ('visual' resource) to allow the user to force XV to use a
	specific visual type, rather than the server default.

Added gamma resources.  Hooked up 'Get Resources' button (copies current
	gamma settings into the cut buffer)

Ripped out '-tile', '-center', and '-rpat' options.  Replaced them with 
	'-rmode' option ('rootMode' resource)

Added mirrored tiling and integer mirrored tiling root modes.

PopUp window now pops up with the right-most button centered under the mouse,
	rather than in the middle of the screen.

Added '^D' accellerator key (for 'Disk File') in the 'Delete What' PopUp box.

Changed '-asmooth' and '-adither' to '-smooth' and '-dither', respectively.

Added stricter command line argument matching.  '-snausage' no longer would
	match the '-s' flag.

Changed way '-expand' (and 'expand' resource) works.  Now takes floating
	point number.  For backwards compatibility, negative numbers are 
	still treated as reciprocals.  (ie, both '-2' and '.5' will halve 
	the image)

Created 'MBUTT' pop-up menu widget.

Added 'Display Modes' popup button.

Fixed bug when using '-perfect'.  The XCopyColormapAndFree() function had the
	rather undesirable side effect of getting rid of the allocated
	colors used for the various windows, etc. (ie, more than the
	image colors)

Made 'Hagan-Style' tiling (aka, Centered Tiling) much more efficient
				(Robert Potter  (rpotter@grip.cis.upenn.edu))

Made the 'directory' listing in the load/save box use an MBUTT.

Added JPEG support.		(Markus Baur  (s_baur@iravcl.ira.uka.de))
				(and, of course, the Independent JPEG Group)

Added '-keeparound' flag (and 'keepAround' resource).  By default, if you
	'delete' the last file remaining in the ctrl window list, 
	the program will auto-exit.  This option overrides that behavior.

Ripped out '-fgeom' and '-fmap' options (and 'fileGeometry' resource).
	Load/Save boxes now come up wherever the mouse is.

Wrote OpenOutFile() and CloseOutFile() routines to unify redundant code
	in 'DoSave()' and 'writePS()'

Added 'piped' output.  (ie, save file "| lpr")

Added 'Alert' boxes (button-less PopUp's)

Bug fixes when loading/saving '~' files

Fixed PS output to be Encapsulated PostScript compatible

Added a faked 'colorimage' procedure for grayscale PS printers.
	(Color postscript files will print on non-color printers, albeit in
	 grayscale.)

New Window positioning code.  Should work for (nearly) all WMs.
				(Matthew Stier  (matthew@sunpix.East.Sun.COM))

Automatically smooths images that were 'shrunk' (2x, 4x, etc...)

Bug fixes to the JPEG i/o code.	(Tom Lane  (Tom_Lane@G.GP.CS.CMU.EDU))

Fixed problem in xv24to8.c with the Floyd-Steinberg dithering code.
				(Charles Hannum  (mycroft@gnu.ai.mit.edu))

Modified 'Delete' behavior.  Only loads an image if you deleted the
	currently-viewed image.

Changes the suffix of the filename in the 'save window' when you change 
	file formats.

Got rid of 'Quit XV' buttons in load and save windows

Added extra verbiage to JPEG save window.

Dicked around some more with window positioning code.  Seems to work
	correctly in TWM and MWM.  Hopefully, it'll work in OLWM as well.

Added Makefile options and xv.h #ifdefs for Encore's UMAX 
	version of Unix System V.	(Drew Watson  (dwatson@encore.com))

Added '-owncmap' option (and 'ownCmap' resource) to make XV *always*
	use/install its own colormap.	(Bill Turner  (bturner@cv.hp.com))


Rev: 11/29/90  (version 1, patchlevel 3)
-----------------------------

Changed 'CCOPTIONS' to 'DEFINES' in Imakefile

Fixes for use with virtual root window managers (ie, tvtwm)
	(only cares about virtual root when using '-root' option,
	 negative geometry's correctly handled.)
			(Andreas Stolcke   (stolcke@ICSI.Berkeley.EDU))

Modifications for Sequent machines (no 'mem*() routines)
			(Daniel Pommert    (daniel@ux1.cso.uiuc.edu))

Modifications to avoid bug in certain optimizers, most notably the default
optimization (-O) in Sun's C compiler.  (Incorrectly handles lines of the
sort "*p = array[*p]")

Modification to get around 'when I shift my arrow keys (to adjust the
cropping rectangle), my keyboard generates numbers instead' problem
			(Mark Horstman     (mh2620@sarek.sbc.com)

Modification to allow 'xsetroot' and 'xloadimage' to cleanup any
xv-displayed images in the root window, and vice-versa.
			(Richard Bingle    (bingle@cs.purdue.edu))



Rev: 11/26/90  (version 1, patchlevel 2)
-----------------------------
added workaround for 'X Protocol Errors' on broken servers (XFreeColors())
	(see the '-bfc' option)
fixed core dump when cropping on certain displays
misc. #ifdefs for HPs
fixed problem with fish cursor remaining around too long
more SVR4 #ifdefs			(David Elliott,  dce@smsc.sony.com)
fixed bug in tracking pixel values	(Bob Finch,      bob@gli.com)
misc #ifdefs for ISC 386/ix 2.0.2	(Mark Snitily    mark@zok.uucp)
misc #ifdefs for AT&T machines	 	(Eric Raymond   eric@snark.thyrsus.com)
misc #ifdefs for Silicon Graphics       (Paul Close     pdc@lunch.wpd.sgi.com)
Added POSIX signal handling		(Mike Patnode   (mikep@sco.com))
Port to SCO UNIX/ODT			(Mike Patnode   (mikep@sco.com))

fixed problem with using '-max' and '-fixed' at same time
			(Greg Spencer   greg@longs.lance.colostate.edu)
modification to work with Virtual Root Windows (ala swm and tvtwm)
			(Bill Kucharski  kucharsk@solbourne.com)

the 'save-as' filename is now set to the 'current' filename

Also, if you double click on 'plain' files in the directory box,
	it will set the 'save-as' filename accordingly.

Added ability to view images centered on the root window, without
	any tiling.  Added associated options ('-center', '-rfg', '-rbg',
	and '-rpat')

Workaround for twm 'No title bars' bug  
			 (Steve Swales  steve@bat.lle.rochester.edu)

Bidirectional Rotate commands added

Maxpect command added:  (Maximum size, but preserve aspect ratio)

AutoCrop command added:  (Crops out solid borders.)

Potential support for 32-bit displays.  (Hasn't been tested.  Don't have one.)


Rev: 10/17/90   (version 1, patchlevel 1)
------------------------------
Imakefile added			(David Elliot    (dce@smsc.sony.com))
System V release 4 mods		(David Elliot    (dce@smsc.sony.com))
Bug in 'quick check' fixed	(Arthur Olson    (ado@elsie.nci.nih.gov))
Mods for Convex machines	(Anthony Datri   (datri@convex.com))
'vprintf' module added 		(Jonathan Kamens (jik@pit-manager.mit.edu))
window creation bug fixed
added icon
fixed 'Input Focus' probs
added '-w' flag to bggen
various cleanups to shut up 'noisy' compilers


Rev: 10/9/90    (version 1, patchlevel 0  -  initial release)

