Sat May 31 08:29:23 1997  Torsten Martinsen  <torsten@danbbs.dk>

	* Version 2.4.9 released.

	* Local.config: Don't hardcode CDEBUGFLAGS.

	* Imakefile: Don't distribute PGP* files.

	* brushOp.c: Don't crash on images where width or height is less
	than that of the brush. 

Wed May  7 05:53:50 1997  Torsten Martinsen  <torsten@danbbs.dk>

	* cutCopyPaste.c: Applied xword compatibility patch from Seth
	Alves <alve1182@cs.uidaho.edu>. 

Fri May  2 05:54:04 1997  Torsten Martinsen  <torsten@danbbs.dk>

	* Help.txt: Updated range selection text as suggested by Rainer
	Dunker <rainer@dunker.e.ruhr.de>. 
	Changed mail address.

Wed Feb  5 19:08:45 1997  Torsten Martinsen  <torsten@danbbs.dk>

	* brushOp.c: Set numsymbols in XpmAttributes structure.

Wed Jan 29 18:32:39 1997  Torsten Martinsen  <torsten@danbbs.dk>

	* Version 2.4.8 released.

	* xpaint.man.in: New address.

Mon Jan 27 06:45:46 1997  Torsten Martinsen  <torsten@danbbs.dk>

	* cutCopyPaste.c:
	If FILTERNEEDSSELECTION was defined, we got a SIGSEGV when running
	a filter.
	Reported by Sylvain Meunier <sns@sns.fr>.

Sun Jan 26 20:45:07 1997  Torsten Martinsen  <torsten@danbbs.dk>

	* main.c:
	Patch from NIIBE Yutaka <gniibe@mri.co.jp> to handle workProc()
	correctly.

Fri Nov  1 09:45:48 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Local.config: Added XPM_INCLUDE.

	* Imakefile: Added XPM_INCLUDE to DEFINES.

	* operation.c, main.c, brushOp.c: Removed 'X11' from "X11/xpm.h".

Tue Oct 29 08:59:40 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Imakefile: Added dependencies on '.version'.

Tue Oct 29 08:48:44 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* fontSelect.c: Removed arbitrary limits on number of
	fonts. Reported by Sumit Bose <bose@physik.TU-Berlin.DE>.

Fri Oct 25 13:20:32 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* fatBitsEdit.c: Fixed FatBits cursor movement bug reported by
	Hideaki Nishimura <nishimu@sdd.siznes.nec.co.jp>.

Fri Sep 27 06:17:31 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* graphic.c: Fixed numbering screwup in definition of
	regionMenu[]. Thanks to nishimu@sdd.siznes.nec.co.jp (Hideaki
	Nishimura).

Fri Sep  6 07:13:30 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* operation.c:
	Fixed bug with XpmCreatePixmapFromData() call at line 1015.

Thu Aug 29 05:24:30 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* README.PNG: Added Greg Roelofs' patch of 28Aug1996.

Mon Aug 26 05:40:41 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* operation.c:	OperationInit(): Set Xpm 'closeness' attribute
	when creating toolbox icons.

Fri Aug 23 06:08:22 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* operation.c:	OperationInit(): Check that sufficient colors are
	available for toolbox icons.

Wed Aug  7 07:10:07 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* xpaint.man.in: Documented the 'patternsize' resource.

Mon Aug  5 08:10:22 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Local.config: Added definition of DEPENDFLAGS.
	Added comment on AIX compilation flags.

Thu Aug  1 12:59:32 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* README: Re-included pointer to libgr.
	Encourage clear bug reports.
	Updated WWW page pointer.

	* main.c:
	SetIconImage(): Added fix from Matthias Braun: Check that XPM icon
	can be created.

Wed Jun 19 19:02:29 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Paint.c:
	InitializeProc(): Always initialize 'undo' to avoid FatBits crashing.

Tue Jun 18 10:04:47 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* rw/readGIF.c: Cleaned up formatting.

	* rw/writeGIF.c: Added error checks for each call to fputc().

Mon Jun 17 11:35:24 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* main.c: Removed call to XtSetLanguageProc().

	* INSTALL: Included new patch from Webmaster Jim.

Sun Jun  9 17:31:28 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* rw/rwTable.c: Cleaned up formatting.

Fri Jun  7 05:46:20 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* README: Upped version #.

Thu Jun  6 10:45:55 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* misc.h: Line 22: Include _AIX in #if conditional.

Mon Jun  3 07:08:12 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* README: Added info on where to obtain libraries.

	* Local.config: PNG support is enabled by default.

	* .version: Initial revision

Mon Jun  3 06:15:40 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Imakefile: Make sure XPaint.ad is made.

	* Imakefile: Make sure xpaint.man is made.

	* Imakefile: Include .version for setting version number.

	* Local.config: BSD: Added path to TIFF_LIB and JPEG_LIB.

	* readRC.c: Added prototype for mktemp() for AIX.

Sun Jun  2 08:40:10 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Imakefile: Added README.PNG.

	* imageComp.c: Added missing #define for sortABC().

	* Imakefile: Help.txt should be Help.txt.in.

Fri May 31 06:38:41 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* brushOp.c: Clear up a lot of Alpha cc warnings.

	* Imakefile: Fix include path for stupid Alpha compiler.

	* main.c: main(): argc is int, NOT Cardinal.

	* image.c: Clear up a lot of Alpha cc warnings.

	* fileName.c: Alphas use dirents too.

	* size.c:
	Fix: this should take care of the 'sigsegv-when-resizing' bug.

	* selectOp.c:
	Fix: prevents xpaint from terminating with an X-Error "invalid size in
	X_CreatePixmap" when the ellipse-shaped region is selected and one
	clicks the first mouse button on one point.

Tue May 28 09:23:16 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* xpaint.man: Now generated automatically.

	* main.c: Warning about data loss.
	Version number displayed in usage message.

	* imageComp.c, image.h: ImageCompress() takes an extra argument.

	* XPaint.ad: Now generated automatically.

	* Help.txt: Now automatically generated.

	* image.c, color.c: ImageCompress() takes an extra argument.

	* Local.config: PNG support added.

	* Imakefile: Automatic update of version # in xpaint.man and XPaint.ad.

Tue May 28 07:45:08 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* README: Improved text about needed libraries.

	* README: Version #.

	* xpaint.man.in, XPaint.ad.in: Initial revision

	* xpaint.man: Document -nowarn option.

	* README: Refer to README.PNG.

	* README.PNG: Initial revision

	* README: Added URL for XPaint.

	* Local.config:
	Added ARCH_DEFINES variable for architecture-specific defines.

	* Imakefile: Added ARCH_DEFINES to DEFINES.

	* Local.config: Removed space before argument to -L.

Fri May 24 07:33:03 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* protocol.c: Include stdio.h.

	* Local.config: Version #.

	* Imakefile: Added VERSION variable.

	* Local.config: Added Chuck Robey's BSD fix.

	* INSTALL: Added missing font fix from Webmaster Jim.

Thu May 23 15:48:31 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* main.c: Only call XtSetLanguageProc() if XtSpecificationRelease >= 6.

	* Imakefile: Removed XPAINT_TOP definition.

	* README: Refer to TODO list.

	* Imakefile: Added TODO.

Wed May 15 09:26:56 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* XPaint.ad: Cleaned out 'nudge' resources.
	Inc'ed version #.

	* xpaint.man: Inc'ed version #.

	* graphic.c: Added support for setting of pattern size via resource.

	* protocol.c: AddDestroyCallback(): Added error check.

Mon May 13 08:17:52 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Paint.c: Fixed warning.

	* README: Updated for 2.3.

Mon May 13 08:02:07 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Imakefile, XPaint.ad: Updated version number.

Sun May 12 08:17:01 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* PaintRegion.c: doCallBacks(): Fix warning.

Fri May 10 09:53:06 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Local.config: Cleaned up CDEBUGFLAGS. Removed -DNEED_STRCASECMP.

	* fatBitsEdit.c:
	FatCursorOff(): Now also works correctly for FatBits popup.

	* misc.h: Added Gary Love's patch for SGI and HPUX.

Thu May  9 11:21:44 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* brushOp.c: FatCursorOff() now takes an argument.

	* fatBitsEdit.c: Fixed FatCursor bug.

	* misc.h, iprocess.c, main.c, misc.c, sprayOp.c, texture.c, xpaint.h:
	Cleaned up use of RANDOM.

Wed May  8 09:52:40 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Local.config: Added lots of portability fixes.

	* iprocess.c: ImageSpread(): Replaced random() with RANDOM.

	* misc.h: Added SunOS 4.1 portability fix.

	* Paint.c: Fixed the 'Image/Change Size' bug.

	* PaintUndo.c: Added ERRORBEEP feature.

Tue May  7 11:18:21 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Local.config, misc.h, xpaint.h:
	Added BSD portability fixes by Chuck Robey <chuckr@Glue.umd.edu>.

Fri May  3 16:15:58 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Local.config, xpaint.h, main.c: Added Solaris patch.

Thu May  2 07:45:24 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Imakefile: Fixed tar target.

	* xpaint.man, XPaint.ad, Imakefile: Updated version number.

	* Paint.c: Bugfix: new undo stuff made FatBits crash.

Tue Apr 30 15:38:06 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* rw/rwTable.c: Removed obsolete #ifdef HAVE_XPM clause.

Tue Apr 30 11:39:12 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* graphic.c:
	undosizeOkCallback(): Changed 'Levels (1-20)' to 'Levels (0-20)'.

Tue Apr 30 11:11:32 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Paint.c:
	SetValuesProc(): Initialize undo system when changing image size.

	* PaintUndo.c: Fixed the case where undosize is zero.

Tue Apr 30 08:57:31 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Imakefile: Added xpaint.man to TEXT variable.

Mon Apr 29 05:03:50 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Imakefile: Fixed path to Local.config.

Sat Apr 20 13:02:23 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Released 2.2 to the largely unsuspecting public.

Fri Apr 19 09:56:38 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* cutCopyPaste.c: Removed testing code.

	* README: cert takes no arguments.

	* cert: Don't use arguments.

	* Imakefile:
	Prevent multiple inclusion of rw/libpnmrw.h and rw/rwTable.h in filelist.

	* PaintUndo.c: Ready for release.

	* PaintP.h: 'valid' renamed to 'pushed'.

	* Imakefile, Help.txt: Updated for release.

	* Local.config: Cleaned up for release.

	* cert: Added blurb about public key.

	* Paint.c: Undo fixed.

	* help.c: Reformatted.

	* fillOp.c: buildFractalPixmap(): Added default clause to switch.

	* INSTALL: Refer to Local.config.

Thu Apr 18 07:47:19 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* XPaint.ad: Added 'Canvas*menu*edit*redo.label'.

Wed Apr 17 19:58:26 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Paint.c: Make undo stacks circularly linked.
	Keep old canvas pixmap when changing # of undo levels.

	* PaintP.h: Removed obsolete members.

	* Paint.c: Fixes to code for changing # of undo levels.
	Cleaned up.

	* PaintRegion.c: Cleaned up.

	* PaintUndo.c: Fixed [Un,Re]doPush() bug.
	Changed 'base' to 'current'.

	* graphic.c:
	undosizeCallback(): 'Buffer' changed to 'level' throughout.

	* PaintP.h: Support new stack-based undo scheme.
	'base' member renamed to 'current'.

	* Paint.c: Support new undo scheme.

	* PaintUndo.c: Changed to new stack-based undo algorithm.

Tue Apr 16 15:11:53 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* README: Reworked completely.

	* Local.config: Cleaned up.

	* Imakefile: Added certification support.

	* Help.txt: Updated for 2.2.

	* cert: Initial revision

	* README: Updated for 2.2


	* xpaint.man: Initial revision

	* XPaint.ad: Added 'Canvas*menu*other*undosize.label'.

	* XPaint.ad: Updated version number.

	* cutCopyPaste.c: Reformatted.
	Added Redo to canvas popup menu.

	* XPaint.ad: Added Canvas*paintBox.popup-menu.redo.label.

Wed Apr  3 14:29:15 1996  Torsten Martinsen  <bullestock@dk-online.dk>

	* Changed formatting of all source to K&R.

Tue Feb 27 12:27:45 1996  Torsten Martinsen

	* color.c: ColorPickerUpdateMap(): New function.
	New member 'bg' in LocalInfo so that we only have to look up the
	background pixel value the first time.

	* chroma.c: ChromaDialog now uses the palette of the canvas.

	* grab.c: Added comments.
	DoGrabImage() returns Image *.

Mon Feb 26 22:34:47 1996  Torsten Martinsen

	* graphic.c: Added 'Select Color Range' button to the right of
	palette area.

	* fillOp.c: Fixed nasty
	'XImage-data-is-signed-so-macro-is-screwed-up' bug. 

	* color.c: Cleaned up.

	* chroma.c: ChromaDialog(): Accept a Palette parameter and use
	that for calling ColorPickerPalette() instead of ColorPicker().

	* operation.c: Removed ChromaDialog stuff.

	* XPaint.ad: Changed 'XPaint*chroma' to 'Canvas*chroma'.

	* Imakefile: Added chroma.c

	* chroma.c: Initial revision

	* selectOp.c: Split out chroma stuff into chroma.c

	* iprocess.c: Cleaned up histogram stuff.
	Added ImageThicken() - #define'd out for now.

	* graphic.c: Cleaned up.

	* color.c:
	createBarText(): Fixed value for scrollbar resource 'XtNwidth'.

	* color.c: createBarText(): Changed incorrect scrollbar resource
	'XtNlength' to 'XtNwidth'.

	* Local.config: Removed the #define HaveXPM stuff.

	* Help.txt: Added doc for Directional Smooth.
	Rearranged doc for Filter commands.

	* operation.c: OperationSelectCallAcross(): Also set the Lasso popup.

	* graphic.c: Added Directional Smooth filter.
	Reorganized Filter menu.

	* iprocess.c: ImageNormContrast(): Call ImageHistogram().

	* cutCopyPaste.c: StdRegionDirFilt(): Added.

	* XPaint.ad: Canvas*menu*filter*dirfilt.label: Added.

	* iprocess.c: ImageSmooth(): Free convolution matrix.
	ImageDirectionalFilter(): Added.

Sun Feb 25 12:53:13 1996  Torsten Martinsen

	* INSTALL: Removed USE_DRAND stuff.

	* hash.c: Removed unused code.

	* fatBitsEdit.c: FatbitsUpdate(): Accept -1 as zoom factor.

	* size.c: sureCallback(): Call FatbitsUpdate().

	* fatBitsEdit.c:
	FatbitsUpdate(): Only reposition view if the zoomed canvas is larger
	than the viewport.

Sat Feb 24 15:51:16 1996  Torsten Martinsen

	* fatBitsEdit.c:
	Changing the zoom on the canvas now resizes and repositions the
	fatbits cursor.

Fri Feb 23 11:53:28 1996  Torsten Martinsen

	* graphic.c: zoomOkCallback(): Call zoomUpdate().

	* fatBitsEdit.c:
	Added the zoomUpdate() function to correct FatBits cursor window size
	when changing canvas zoom factor.

Fri Feb 23 11:12:42 1996  Torsten Martinsen

	* fatBitsEdit.c (zoomUpdate): Added.

	* graphic.c (GraphicOpenFile): Made GraphicOpenFile() call
	GraphicOpenFileZoom instead of duplicating code.

Thu Feb 15 11:03:50 1996  Torsten Martinsen

	* fatBitsEdit.c (FatCursorSet): Free old fatcursor if present.
	(FatCursorSet): Don't insert event handlers here.

	* Paint.c (InitializeProc): Init menuwidgets member.

Wed Feb 14 15:02:02 1996  Torsten Martinsen

	* Paint.c (resources): Added resource for XtNfilename.

	* graphic.c: Removed all traces of nudge box code.
	(doRevert): Use work procedure to call XtDestroyWidget().

Mon Feb 12 11:45:23 1996  Torsten Martinsen

	* brushOp.c (wbrush): Manual clipping implemented.
	(smear): Same.

Thu Feb  8 10:33:23 1996  Torsten Martinsen

	* graphic.c: Junked EnableRevert() and EnableLast().

	* brushOp.c (wbrush): Transparent brush now has soft edge.

Wed Feb  7 13:06:34 1996  Torsten Martinsen

	* brushOp.c (setCursor): Values in brushbits array are
	proportional to distance from center of brush, normalized to a
	maximum of 100.
	(smear): Mix colours according to values in brushbits array.
	Removed FATCURSOR conditionals.

	* selectOp.c (keyPress): Detect cursor keys and move region accordingly.

	* PaintRegion.c (RegionMove): New function, called from selectOp.c
	to move region using cursor keys.

	* selectOp.c (motion): Return if event->state is zero, i.e. no
	buttons pressed.

	* cutCopyPaste.c (StdUndoCallback): If the region has not been
	moved or resized, call PwRegionOff() before doing the actual undo
	and restore the region selection afterwards.

	* PaintRegion.c (PwRegionOff): New function, like PwRegionFinish()
	but doesn't write region.

	* PaintRegion.c (writeCleanRegion): Added 'write' argument. Only
	call writeRegion() if this is True.

Tue Feb  6 12:08:19 1996  Torsten Martinsen

	* fillOp.c (similar): Returns 1 if pixel matches start pixel
	within current colour delta.
	(deltafill): Like fill(), except we use similar() instead of ==.
	(press): Added switch to handle calling deltafill() when appropriate.

Mon Feb  5 13:32:45 1996  Torsten Martinsen

	* operation.c (tfillPopup): Added option for selecting fill colour
	tolerance.

	* selectOp.c (finishPolyBand): Added call to PwUpdateDrawable() to
	avoid leaving stray lines behind.

Sat Feb  3 11:03:16 1996  Torsten Martinsen

	* color.c (update): If default visual is statically allocated,
	don't use XStoreColor().

	* Imakefile (MISC): Added XPaintIcon.xpm.

	* main.c (workProc): Added 'done' kludge to try to fix problem
	with workProc being called too many times.

	* size.c (sureCallback): Set dirty flag.

	* misc.c (AutoCrop): Added. Also corresponding menu changes in graphic.c.

Fri Feb  2 10:21:37 1996  Torsten Martinsen

	* PaintRegion.c (PwRegionAddScale): Call PwRegionTear() so that
	flipped region stays on screen.
	(regionGrab): If Shift is pressed, constrain rotation to multiples
	of 15 degrees.
	(regionButtonPress): Store root window coords in lastX/Y.
	(regionGrab): If Shift is pressed, constrain movement to
	horizontal or vertical.

	* PaintP.h (PaintPart): Added lastX, lastY members.

	* fileName.c (stdSaveCommonCallback): Show busy cursor while saving.

Thu Feb  1 11:18:30 1996  Torsten Martinsen

	* selectOp.c (finishPolyBand, pressPolyBand, motionPolyBand,
	releasePolyBand, SelectPolyAdd, SelectPolyRemove): Handles
	selecting irregular polygons.

	* Help.txt (Fill): Document change mode.

	* circleOp.c (draw): Don't draw circles just because 'center' is
	ticked. Also, simplified quite a bit.

	* boxOp.c (press): Don't draw squares just because 'center' is ticked.

	* operation.c: Only use Xpm icons.

Wed Jan 31 21:18:38 1996  Torsten Martinsen

	* iprocess.c (ImageQuantize): Completed.

Tue Jan 30 00:00:36 1996  Torsten Martinsen

	* graphic.c (doContrast): Displays histogram image in text dialog.

	* iprocess.c (ImageHistogram): Added ruler to histogram image.

	* PaintRegion.c (regionSetGripCursors): Removed second column of
	cursors array, as it was not used.

	* iprocess.c (ImageHistogram): Builds histogram for an image, both
	as an array of ints and as an image.
	(ImageNormContrast): Now assumes that ImageHistogram has already
	been called for the image.

	* image.c (ImageNewBW): Set image->isBW to True.	

Mon Jan 29 09:13:12 1996  Torsten Martinsen

	* text.c (textPrompt): (Previously TextPrompt) Extra parameter
	'pix' allows displaying a pixmap in the dialog.
	(TextPrompt): Calls textPrompt.
	(TextPromptPixmap): Entry point for displaying pixmap in text dialog.

	* selectOp.c (SelectChromaDialog): Call ColorPickerSetFunction to
	set up for calling deltaSP() when grabbing colour.
	(deltaSP): Just sets 'pixel' member in DialogInfo structure.

	* color.c (ColorPicker): Set l->map so that it works on TrueColor
	visuals.

	* main.c (SetIconImage): Removed unused 'flag' parameter.

	* xpaint.man: Description of RC file improved a bit.

	* readRC.c (ReadDefaultRC): Don't use compiled-in defaults if a
	default file is specified with -rcFile.

Fri Jan 26 11:40:26 1996  Torsten Martinsen

	* brushOp.c (setCursor): Call FatCursorSet (conditional on FATCURSOR).

	* fatBitsEdit.c (AddSegment, CreateFatCursor, FatCursorDraw,
	FatCursorAddZoom, FatCursorRemoveZoom, FatCursorSet): Routines for
	handling outline cursors for FatBits popup completed. Bitmapped
	cursors junked due to server limits on cursor size.
	Conditional on FATCURSOR.

	* brushOp.c (motion): Return if event->state is zero, i.e. no
	buttons pressed.

Tue Jan 23 01:20:59 1996  Torsten Martinsen

	* graphic.c (solarizeOkCallback, doSolarize): Added to enable
	setting threshold parameter.

	* fatBitsEdit.c: Numerous changes, all conditional on FATCURSOR define.

Mon Jan 22 10:24:42 1996  Torsten Martinsen

	* fatBitsEdit.c (FatbitsEdit): Set cursor for fatbits popup from
	parent PaintWidget's fatcursor resource.

	* PaintP.h (PaintPart): Added fatcursor member.

	* graphic.c (graphicCreate): Use ADDCALLBACK macro to simplify
	code a bit.

	* cutCopyPaste.c (ccpAddRegionFlipX through ccpAddRegionBlend):
	Junked, instead call XtAddCallback directly.

	* graphic.c (graphicCreate): Items in regionMenu are always
	sensitive whether there is a selection or not.

	* cutCopyPaste.c (stdImgProcess): If no selection, use entire
	canvas. (Old behaviour can be reinstated by defining
	FILTERNEEDSSELECTION).

	* iprocess.c (ImageSolarize): Added function.
	(ImageQuantize): Added dummy.

	* graphic.c (doRevert): Set pointer to busy shape while reverting.
	(doRevert): Set menu snap status correctly.
	(doRevert): Also save background colour.
	(graphicCreate): Get width and height of pixmap *before* using
	them.

	* brushOp.c (BrushAdd, BrushRemove, SmearAdd, SmearRemove): Store
	brushPalette and brushGC in LocalInfo structure. This
	automatically handles multiple calls correctly.

	(BrushInit): Create initial brushImage.
	(selectBrush): Free old and create new brushImage. 

Fri Jan 19 09:07:29 1996  Torsten Martinsen

	* graphic.c (rotate): Use rotateAngle instead of snapSpacing as
	default angle of rotation.
	(GraphicOpenFileZoom): Like GraphicOpenFile(), but with 'zoom'
	parameter - passed to graphicCreate(). Also returns the PaintWidget.
	(doRevert): Remember zoom factor of image.

	* brushOp.c (setCursor): Compute numpixels member.
	(BrushRemove): Fixed SIGSEGV bug.
	(SmearRemove): Fixed SIGSEGV bug.
	(BrushAdd, BrushRemove): If called more than once, behave appropriately.

	* PaintEvent.c (opHandleEvent): Made Snap round to closest grid
	line instead of truncating to next lower value. (Made conditional
	on TRUNC_SNAP define).

Thu Jan 18 09:46:56 1996  Torsten Martinsen

	* cutCopyPaste.c (stdImgProcess): Store current background colour
	in ImgProcessInfo for use by image processing routines.

	* selectOp.c (chromaCut): Commented out weird statement that
	dereferences an uninitialized pointer.

	* cutCopyPaste.c (StdRegionTilt): Added.

	* graphic.c (regionMenu): Added Tilt item.
	(tiltRegionOkCallback): Added.
	(tiltRegion): Added.
	(graphicCreate): Add callbacks for Tilt ietm.

Wed Jan 17 10:06:41 1996  Torsten Martinsen

	* brushOp.c (smear): Use XGetSubImage instead of XGetImage to
	avoid creating and destroying the XImage each time.
	The image is created by SmearAdd and BrushSelect.
	(wbrush): Use XGetSubImage instead of XGetImage to
	avoid creating and destroying the XImage each time.
	The image is created by BrushAdd and BrushSelect.
	(wbrush): Added limit check to avoid XGetSubImage crashing on us.

	* image.c (PixmapToImage): Junked 'htable' variable - never used.


Mon Jan 15 09:01:40 1996  Torsten Martinsen

	* brushOp.c (BrushSetMode): Added.

	* operation.c (brushPopup): Added Opaque/Transparent item.

	* brushOp.c (wbrush etc.): Added WBrush code.

Fri Jan 12 09:10:53 1996  Torsten Martinsen

	* graphic.c (EnableRevert): Added.
	(GraphicOpenFile): Set filename member and call EnableRevert().
	(graphicCreate): Now returns the PaintWidget. Previously, the
	return value was always equal to the 'shell' argument.
	Note: GraphicOpenFile() checks the return value of
	graphicCreate() - this is still not useful.
	(doRevert): Return immediately if the image was not changed since
	last save. Revert actually works now!

	* fileName.c (stdSaveCommonCallback): Set filename when save is
	succesful.

	* PaintP.h: Added filename member to PaintWidget.

	* Paint.c (DestroyProc): Free filename storage.
	(InitializeProc): Initialize filename member to NULL.

	* Help.txt (filterMenu): Added help for Normalize Contrast filter.

	* graphic.c (RG_CONTRAST_ITEM): Added to menu.

	* iprocess.c (ImageNormContrast): Added. Histogram equalizes
	contrast of an image.

	* cutCopyPaste.c (StdRegionContrast): Added.

	* xpaint.man: Formatting of options made consistent with most
	other X man pages. Explanation of RC file syntax improved.

Thu Jan 11 12:45:40 1996  Torsten Martinsen

	* xpaint.man: Added documentation on RC file format.
	Added doc on -rcFile -popped, and -help options.
	Also slight formatting changes.

	* readRC.c (readRC): Fixed bug where brushes in the RC file was
	treated as patterns.

	* Imakefile: Added dependencies for all object files.

	* iprocess.c (ImageAddNoise): Changed to use Gaussian noise.

	* sprayOp.c (draw): Use gauss() in misc.c. Static function gauss()
	removed.

	* misc.c (gauss): Function to produce a random normal variable.

Wed Jan 10 11:43:14 1996  Torsten Martinsen

	* Major prototype overhaul and cleanup.

	* operation.c (struct IconListItem): Removed 'callback' member, as
	it is never used.

	* iprocess.c (ImageSmooth): Uses N x N matrix.

	* graphic.c (doSmooth): Added query for mask size.

	* iprocess.c: Use ImgProcessInfo structure for parameters.

	* graphic.c (oilPaintOkCallback, ..., doDespeckle): Use
	ImgProcessInfo structure for parameters.

	* iprocess.c (convolve): Changed to allow N x N matrices. Calls
	to convolve() changed accordingly.

	* fillOp.c (buildGradientPixmap): Bugfix for Linear fill.

Tue Jan  9 10:41:16 1996  Torsten Martinsen

	* fillOp.c (buildTexturePixmap): Added Linear gradient fill.
	(buildTexturePixmap): Added Conical gradient fill.

	* Help.txt: Added help for gradient fill.

Mon Jan  8 10:00:00 1996  Torsten Martinsen

	* operation.c (tfillMenuCallback): Allows setting H/V offset and
	Pad for Radial Fill.

	* fillOp.c (TfillSetParameters): Added. See preceding entry.

	* operation.c: 	Texture Fill operator added.

	* fillOp.c (press): Extra code to handle texture fill.
	(buildTexturePixmap): This function builds a Pixmap containing the
	desired texture.
	(TFillAdd, TFillRemove, TFillSetMode, TFillGetMode): Implements
	Texture Fill operator.

	* Local.config (UseLargeIcons): Added this define to control
	search path for icon files.

	* Moved old icons to ./bitmaps/old. 

Fri Jan  5 20:22:15 1996  Torsten Martinsen

	* iprocess.c (ImageSpread): Removed 'iterations' parameter.

	* graphic.c (doSpread): Removed 'iterations' parameter, now that
	we have Repeat Last.

	* cutCopyPaste.c (stdImgProcess): Unified this with inplaceImgProcess.
	(stdLastImgProcess): Added function.

	* Help.txt: Added doc for Repeat Last.

	* graphic.c (RG_LAST_ITEM): Added 'Filter/Repeat Last' menu item.
	(doLast): Added function.

	* iprocess.c (ImageDespeckle): Added function.

	* Help.txt: Added Filter menu (oops). Added doc for Despeckle filter.

	* graphic.c (RG_DESPECKLE_ITEM): Added 'Filter/Despeckle' menu item.

	* rw/writeJPEG.c (WriteJPEG): Writing of greyscale JPEG files works now.

	* rw/readJPEG.c (ReadJPEG): Loading of greyscale JPEG files works now.

	* brushOp.c (press): Got SIGSEGV when using Brush tool before
	Smear tool had been used. Fixed.

Wed Jan  3 21:42:45 1996  Torsten Martinsen

	* rw/readJPEG.c (ReadJPEG): Prepare for handling of greyscale files.

	* rw/writeJPEG.c: Created file.

	* rw/rwTable.c (RWtable): Added entry for WriteJPEG().

Wed Dec 27 12:07:34 1995  Torsten Martinsen

	* brushOp.c (struct BrushItem): Added 'brushbits' member to store
	fast-access mask for Smear operation.
	(setCursor): Initialize 'brushbits' member.
	This fixes the 'uses-wrong-brush-mask' bug.

Tue Dec 26 22:06:54 1995  Torsten Martinsen

	* hash.c (HashAll): Out-#ifdef'd unused functions.

	* palette.c (addColor): Now this works like I think it should.

	* brushOp.c (smear): Fixed palette allocation bug. This operation
	actually works now!

	* palette.c (allocN): Removed 'flags' parameter, as it is never used.
	(allocN): Removed 'ncolor' parameter, as it is always 1.
	(PaletteAlloc): Changed allocN() call.

Mon Dec 18 09:30:40 1995  Torsten Martinsen

	* New 40 x 40 versions of all icons. [f]blobOp bitmap files renamed
	to [f]freehandOp for better consistency.

	* brushOp.c (SmearAdd, SmearRemove): Added functions.
	(draw): Added 'if' clause to handle Smear tool.
	Added 'isSmear' member to LocalInfo struct.

	* bitmaps/brushOp.xpm: New 40x40 icon.

	* Imakefile: Made operation.o depend on bitmaps.

Sat Dec 16 17:38:49 1995  Torsten Martinsen

	* graphic.c (doSpread): Interface to Spread changed to allow
	selecting # of iterations.

	* iprocess.c (ImageSpread): Changed to perform several iterations.

	* XPaint.ad, graphic.c: Split Region menu up into Region and
	Filter menus. 	All image processing functions are now in the
	Filter menu, while the Region menu is reserved for Rotate, Crop,
	Nudge, and Reset.

	* Help.txt (smear): Added brief help text for Smear tool.

	* bitmaps/smearOp.xpm: Added corny icon for Smear tool.

	* selectOp.c (SelectChromaDialog): Don't SIGSEGV when selecting
	'Select Range...' in Select tool popup.

	* graphic.c (doRevert): Set size of image to correct values.
	Still doesn't work, though.

Fri Dec 15 13:05:35 1995  Torsten Martinsen

	* image.h (ImagePixel): Fixed nasty missing-parentheses-around-args
	bug in this macro.

	* graphic.c (doRevert): Added call to PwRegionFinish() to make
	sure the region is not active after reverting.

	* cutCopyPaste.c (inplaceImgProcess): Added this function to
	enable ImageSpread to be implemented more efficiently.

	* iprocess.c (ImagePixelize): Wrote function.
	(ImageSpread): Wrote function.

Wed Dec 13 00:01:52 1995  Torsten Martinsen

	* graphic.c: Added skeleton functions for Blend, Spread, and
	Pixelize items.
	(oilPaintOkCallback): Added sanity check for mask size.
	(addNoiseOkCallback): Added sanity check for noise variance.

	* Help.txt: Added missing doc on Oil Paint effect.
	Added doc on Blend, Spread, and Pixelize items.

	* graphic.c (regionMenu): Added Blend, Spread, and Pixelize items.

Tue Dec 12 13:01:05 1995  Torsten Martinsen

	* graphic.c (oilPaint): Added query for mask size.

	* iprocess.c (ImageOilPaint): Added variable mask size.

	* graphic.c (cropToRegion): Added function.

	* PaintRegion.c (RegionCropToRegion): Added function.

Fri Dec  8 09:22:38 1995  Torsten Martinsen

	* Imakefile: Created RWSRC etc. variables.

	* rw/readJPEG.c: Support for reading JPEG with IJG release 6 works.
	Still needs improved error reporting.

Wed Dec  6 14:03:09 1995  Torsten Martinsen

	* Cleaned up various prototypes and removed unused variables.

	* 'Add Noise' function is completed for now. Later add gaussian option.

Sun Dec  3 01:34:44 1995  Torsten Martinsen

	* random.c: Added file with RNG code from Phoenix.

	* cutCopyPaste.c (ccpAddRegionAddNoise): Added function.
	(StdRegionAddNoise): Added function.

	* iprocess.c (ImageAddNoise): Added function.

	* graphic.c: Revert function completed. Does not work if the size
	of the image has been changed. 

Sat Dec  2 18:59:25 1995  Torsten Martinsen

	* Indented all files.

	* graphic.c (doRevert): Started adding 'Revert...' item in canvas menu.

