Changes from XPaint 2.5.9 to XPaint 2.6.0 - merged a patch from Greg Roelofs fixing PNG read & write code for recent versions of the PNG library; older readPNG.c and writePNG.c combined into readWritePNG.c Changes from XPaint 2.5.8 to XPaint 2.5.9 - snapshot.c: Introduced new "Snapshot" operation (grabbing a window or mouse-selected rectangle from screen) - Help.txt: updated Help file accordingly Changes from XPaint 2.5.7 to XPaint 2.5.8 - operation.c: Reorganized order of icons in main control panel - graphic.c: Introduced a "Clone region" function - graphic.c: Added a "Print" option in the file menu, to the effect of calling an external printing utility (xv is a good candidate) - splineOP.c: Created basic spline curve operation - rw/writeTIFF.c: Bug fix; writing TIFF was broken for depth > 8. Changes from XPaint 2.5.6 to XPaint 2.5.7 - Help.txt, README: Fixed addresses. Changes from XPaint 2.5.5 to XPaint 2.5.6 - Imakefile: Undid change made to support OS/2 that used the LibraryTargetName() macro. Now use linker path to achieve the same. Suggested by John Breslin . - iprocess.c: Change by James G. Feeney : I suggest that a more useful edge extension to use in the smoothing function would be the original image reflected at the edges for the edge extensions, and the original image reflected at the corners for the corner extensions. This approach still allows "smoothing" with smoothing distances larger than the original image size (a long but narrow canvas maybe?), since the extended image would simply be the reflection and then the re-reflection. This approach simply assumes that the "smoothing" source-image is a reflective-tiled version of the original image. This reflective-tiling approach avoids the artifacts and subsequent problems mentioned, is easy to visualize, and produces predictable results. Furthermore, I believe this approach is appropriate for _all_ the effects generated by convolution. Changes from XPaint 2.5.4 to XPaint 2.5.5 - fillOp.c: press(): Free allocated memory as suggested by Richard Hirst . - main.c: The 'visual' patch introduced in 2.5.1 assumed that there was never more than 5 arguments on the command line. Fixed. Reported by Mirsad Todorovac . - Various changes for glibc. Changes from XPaint 2.5.3 to XPaint 2.5.4 - CygWin32 portability patches from Arlindo da Silva . - FreeBSD portability fixes from Justin M. Seger . - Several patches submitted by Andreas Czechanowski : - brushOp.c: Transparent brush now ensures to reach the "final" color when painting over at one place long enough. There was a roundoff problem when converting float to integer. - chroma.c: The "select color range" dialog had been bound to the Canvas from where it was opened the first time. When another Canvas was opened and the first one was closed, calling "select color range" from the new Canvas caused a crash. - iprocess.c: 1) The convolution routine for the image filters has been speeded up: The sum of all matrix elements only has to be computed once, not while processing every pixel. 2) Inverting an image crashed, at least on my 24bpp-display. Changes from XPaint 2.5.2 to XPaint 2.5.3 - dynPenOp.c: Don't use the HZ macro. Reported by Jim Spath . - SCO portability patches from William Bader . - OS/2 portability patches from Alexander Mai . Changes from XPaint 2.5.1 to XPaint 2.5.2 - brushOp.c: Added patch to make strokes continuous even when the mouse is quickly dragged. Contributed by Davor Cubranic . Changes from XPaint 2.5 to XPaint 2.5.1 - Added patch to allow setting the visual from the command line. Contributed by Scott D. Nelson . Changes from XPaint 2.4.9 to XPaint 2.5 - Added new font/colour scheme from Bernd Johannes Wuebben . - Fixed bug where hot spot was offset when using FatBits or zoom. Reported by Stig . - selectOp.c: releasePolyBand(): Removed surplus 'mask' argument. Reported by Davor Cubranic . - New feature: Dynamic pencil tool. Contributed by Tor Lillqvist . Changes from XPaint 2.4.8 to XPaint 2.4.9 - brushOp.c: Set numsymbols in XpmAttributes structure. Reported by Oliver Voigt . - brushOp.c: Don't crash when using transparent brush or Smear on images where width and/or height is less than the dimensions of the brush. Reported by Paco Hope . Note that the results of the Smear tool on such images might not be what you expect. - Local.config: Don't hardcode CDEBUGFLAGS. Reported by Mikhail Teterin . - cutCopyPaste.c: Applied xword compatibility patch from Seth Alves . Changes from XPaint 2.4.7 to XPaint 2.4.8 - Patch from NIIBE Yutaka to handle workProc() correctly. - If FILTERNEEDSSELECTION was defined, we got a SIGSEGV when running a filter. Reported by Sylvain Meunier . - I have moved to a new ISP. Please use the new address for all correspondence. Changes from XPaint 2.4.6 to XPaint 2.4.7 - Removed arbitrary limit on number of fonts that can be displayed in the font browser. Reported by Sumit Bose . - Fixed FatBits cursor movement bug reported by Hideaki Nishimura . - Fixed numbering screwup in definition of regionMenu[]. Thanks to Hideaki Nishimura . - operation.c: Fixed bug with XpmCreatePixmapFromData() call in OperationInit(). - xpm.h can now have an arbitrary location. Changes from XPaint 2.4.5 to XPaint 2.4.6 - Set Xpm 'closeness' attribute when creating toolbox icons. Submitted by Stefan Scharfenberg . - Added Greg Roelofs' patches to the PNG code (no more debug messages). - Fix for spurious 'out of space' message when saving GIF images. Changes from XPaint 2.4.4 to XPaint 2.4.5 - Fix for SetIconImage(): Check that XPM icon can be created. Submitted by Matthias Braun . - Added AIX compilation hint from Toralf Foerster . - Remove compiler warning in writePNG.c. - Man page updated. - Check that sufficient colors are available for toolbox icons. Changes from XPaint 2.4.3 to XPaint 2.4.4 - INSTALL: Included new patch from Webmaster Jim. - rw/writeGIF.c: Check if we run out of space. - No longer crash when using Polygon and Shape tools in FatBits popup. Thanks to jspath@mail.bcpl.lib.md.us (Webmaster Jim) for reporting this. Changes from XPaint 2.4.2 to XPaint 2.4.3 - PNG code: Don't exit() if no memory. Changes from XPaint 2.4.1 to XPaint 2.4.2 - Minor AIX portability fix from Lars-Owe Ivarsson - Fix for non-GCC compilers ({read,write}PNG.c) from Lars-Owe Ivarsson Changes from XPaint 2.4 to XPaint 2.4.1 - Fix for the infamous 'crash-when-resizing' bug by Andreas Czechanowski - Fix for zero-size ellipse-shaped region by Andreas Czechanowski - Alpha and AIX portability fixes by Robert Patrick - Small BSD portability fix from Chuck Robey . - PNG support should actually work now. - XPaint.ad and xpaint.man did not get built automatically; they do now. - Help.txt had zero size - fixed. Changes from XPaint 2.3.1 to XPaint 2.4 Changes by me: - minor changes to Imakefile etc. Changes by Greg Roelofs : - PNG support (mostly complete, except writing of alpha-channel files; both interlaced and non-interlaced supported; still has debug msgs) - added noforce param to ImageCompress() for PNG, TIFF writing of 8-bit images even on truecolor display (formerly promoted to 24-bit) - version number in main title bar and in usage screen (and in PNG files as part of the "Software" tEXt field) - XPaint.ad: fixed default width and height to accommodate new buttons - added new startup warning and new Help section about data loss; warning can be killed with -nowarn option - minor grammar fixes, corrections to image-format descriptions in Help - Imakefile: strip trailing spaces out of Help.txt before further processing - changed "xpm.h" to : should always be in .../include/X11 Changes from XPaint 2.3 to XPaint 2.3.1 - A TODO list is included. - Yet another BSD portability fix from Chuck Robey . - Suggestion from jspath@mail.bcpl.lib.md.us (Webmaster Jim) for what do to if you don't have certain fonts - added to INSTALL. - New feature: You can now set the size of the solid/pattern squares in the palette by setting the 'XPaint.patternsize' resource. Requested by Warwick Allison . - Error check in protocols.c. - NetBSD portability fix by jspath@mail.bcpl.lib.md.us (Webmaster Jim). - Fix for obsolete DEC compiler by envbvs@epb1.lbl.gov (Brian V. Smith). Changes from XPaint 2.2.1 to XPaint 2.3 - Solaris portability fixes by Gary Houston - BSD portability fixes by Chuck Robey - SunOS portability fix by Michael Gordon - SGI and HPUX portability fix by Gary Love - readJPEG.c and writeJPEG.c: Don't use METHODDEF, as suggested by Jean-Claude Giese (apparently the definition of METHODDEF has changed in recent versions of the IJG JPEG library). - New feature: If you define ERRORBEEP in Local.config, XPaint will beep if you try to make an undo/redo and no more undos/redos are possible. - Bug fix: 'Image/Change Size' no longer clears the canvas. - Bug fix: the zoomed brush cursor should work better now. Changes from XPaint 2.2 to XPaint 2.2.1 - Bug fix: again possible to load/save XPM images - Zero undo levels works - Bug fix: changing image size no longer crashes XPaint - Bug fix: manual page included - Bug fix: Local.config no longer contains absolute paths - Bug fix: 'Add Pattern' and 'FatBits' no longer crashes XPaint Changes from XPaint 2.1.1 to XPaint 2.2 1. New features: 1.1 Changed image processing functions (filters): Filter commands uses whole canvas if no selection (#define FILTERNEEDSSELECTION if you want the old behaviour) 'Smooth' filter now has variable mask size 'Oil Paint' filter now has variable mask size 1.2 New image processing functions (filters): 'Add Noise' 'Blend' 'Despeckle' 'Directional Smooth' 'Normalize Contrast' 'Pixelize' 'Quantize Colors' 'Solarize' 'Spread' 'Repeat Last Filter' operation 1.3 Changed operators: Multiple undo and redo. Fill operator takes color tolerance into account. Draw centered boxes and ellipses that are not square. Improved performance of Gaussian Spray. Brush tool has 'Transparent' option which uses a soft-edged brush (only works well on TrueColor visuals). Brush cursor is the correct size when zooming. Brush cursor in FatBits popup is the correct size. Snap rounds instead of truncating (#define TRUNC_SNAP if you want the old behaviour). 1.4 Changed region functions: Holding Shift down while moving a region constrains movement to horizontal or vertical. Holding Shift down while rotating a region constrains rotation to multiples of 15 degrees. 1.5 New region functions: 'Crop to Region' tool. Cursor keys can be used to move region in 1 pixel steps. Undo undoes region selection. 1.6 New operators: Select circle-shaped area. Select polygon-shaped area. Gradient fill (Conical, Square, Radial, Linear). 'Smear' tool. 1.7 Miscellaneous new functions: AutoCrop function - removes borders from an image. 'Revert' function. Writing of JPEG files. 1.8 Interface changes: The 'Select Range' dialog now uses the color map of the current canvas. Therefore, it is no longer found in the toolbox, but in the palette area (the 'Select Color Range' button). New 40 x 40 icons. If you create a better set of icons, please let me know. 'Region' menu split into 'Region' and 'Filter' menus, the latter for image processing functions. Busy cursor while saving. 2 Fixed bugs: Changing the image size no longer does funny things to the fatbits cursor. Changing the zoom on the canvas now resizes and repositions the fatbits cursor. FatBits cursor window changes size when changing zoom of canvas. Problem with flipping region fixed. In color picker, Enter now works in delta textwidgets. 3 Source code changes: Xpm and TIFF libraries no longer included in distribution. Massive reformatting of all source files. A couple of new source files. Some unused code removed. Toolbox uses Xpm icons exclusively.