12014-04-17  J.-P. Demailly  <jean-pierre.demailly@ujf-grenoble.fr>
2
3        * Version 2.9.10.2
4
5        * Minor fixes in 'configure.ac' and 'configure.old' scripts
6          Xpaint can now be compiled again with plain Xaw or Xaw3d
7          (this is NOT recommended, Xaw3dxft definitely gives much
8          better results !) Thanks to Stefan Husmann (Arch Linux)
9          for helpful reports in this respect.
10
11        * 'configure' (based on autotools) and 'configure.old' (based on
12          imake) should in most cases give essentially equivalent binaries.
13
14        * PDF files are now read by using mudraw if mupdf & mupdf-tools
15          are installed (otherwise Xpaint falls back to the formerly used
16          solution: pdf2ps + ghostscript, a much slower one...)
17
18        * Xpaint can now even import libreoffice files as images as soon
19          as libreoffice is installed (assuming /usr/bin/libreoffice is
20          a valid path to the main program)
21
222014-04-09  J.-P. Demailly  <jean-pierre.demailly@ujf-grenoble.fr>
23
24        * Version 2.9.10.1
25
26        * Includes the "version_and_focus_patch_for_2.9.10" and other
27          minor fixes.
28
29        * The alpha channel menu now includes a new function that allows
30          editing as RGB values the image that appears when transparency
31          is applied on a background of the selected background color -
32          white being the default (this removes the transparency levels
33          afterwards, so as to get a pure RGB image).
34
35        * Bug (probably very old) corrected : selection of background color
36          always resulted in black being chosen !
37
382014-03-03  J.-P. Demailly  <jean-pierre.demailly@ujf-grenoble.fr>
39
40        * Version 2.9.10
41
42        * This version should preferably be compiled with libXaw3dXft-1.6.2c,
43          although it still works Ok with libXaw3dXft-1.6.2b.
44
45	* readWritePNG.c: fixed bug occurring when writing grayscale images
46          possessing no more than 16 colors.
47
48        * readWriteJPEG.c: JPEG images in CMYK colorspace are now handled
49          properly (they will still be memorized as RGB, so the original
50          CMYK information is lost, but at least they are shown correctly).
51
52        * fileBrowser.c: "Save" and "Save as" menus now include the option
53          to adjust JPEG quality between 50% and 100% (default is 90%)
54
55        * fileBrowser.c: improved logic : the file browser now remembers
56          file names when changing directories, and also takes into
57          account default extension when specifying file format.
58
59        * fileBrowser.c: thanks to a new feature from libXaw3dXft-1.6.2c
60          (possibility of creating colored lists), xpaint now
61          implements file type coloring in its file browser - at this
62          point this is guessed merely from the suffix of the file.
63
64        * operation.c: Canvas menu reorganized - it is now named
65          "File menu" so as to conform to general use. Except from
66          reordering the items, the main functionality is unchanged.
67
68	* pattern.c: bug fixes. A segfault problem in the zoom selector
69          has been corrected, and contextual help has been fixed.
70
712013-01-27  J.-P. Demailly  <jean-pierre.demailly@ujf-grenoble.fr>
72
73        * Version 2.9.9.4
74
75        * This version should be compiled with libXaw3dXft-1.6.2b
76
77        * RGB channel separation procedure fixed and improved
78
79        * Fix in CRC data handling of regions in memory.
80
81        * XPaint now remembers better the position of regions saved in memory.
82          The recorded position can now be changed or reset to origin through
83          the memory management menu.
84
85	* compilation fix for pgf2pnm with newer libpgf-6.12.24
86
87        * Avoid "bool" variable throughout, as this is a typedef in <stdbool.h>
88
89        * Fixes to configure scripts, thanks to Daniel Macks (fink project)
90
91        * Minor GUI improvements
92
932012-02-14  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
94
95        * Version 2.9.9
96
97	* Xpaint now uses (or tries to use!) autotools.
98
99	* libxaw3dxft is now a separate package (but is still a requirement,
100	  and in fact should be installed before).
101
102	* rw/rwTable.c : segfault fix (occurring randomly) fixed in
103	  readMagic().
104
105	* minor fix in fontSelect.c, certain fonts were possibly missing
106	  in the font browser, in some rare circumstances.
107
108	* very minor fix of scrollbar behaviour in graphic.c.
109
110	* misc.c : new procedure SetWMInputHint() that helps solving some
111	  quirks.
112
1132012-01-06  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
114
115        * Version 2.9.8.4
116
117	* minor fixes in fileBrowser.c (adjustable height of text entry
118          for the file name, resize procedure improved).
119
1202011-10-13  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
121
122        * Version 2.9.8.3
123
124	* rw/pgf-util/Makefile : add '-fpermissive' flag to allow compilation
125          with recent (more picky!) versions of g++
126
127        * Xaw3dxft/Viewport.c : position of scrollbars can now be adjusted
128          through parameters sbShift[X,Y][1,2]. No public API change, so
129          this addition should be upward compatible.
130
131        * graphic.c : some small fixes in the shellHandler routine to
132          accommodate odd behavior of scrollbars with xorg recent versions,
133          using the new sbShift feature.
134
1352010-12-29  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
136
137        * Version 2.9.8.2 - nothing really new, just very small fixes
138
139        * Integrated patch to facilitate compilation with gcc-4.5
140
141        * app-defaults files : slight improvement of X event management
142          in pull-down menus.
143
144        * print.c : slight improvement of X event management in print widget.
145
146        * fontOp.c : fixed color issue (color not initialized) when moving
147          written text with arrow keys.
148
149        * Very small changes in Xaw3dxft (minor Xaw3dXft.h API update)
150
1512010-11-08  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
152
153        * Version 2.9.8
154
155	* Xaw3dxft : code clean-up. New files Xaw3dXft.h and Xaw3dXft.c
156	  now contain the specific Xaw3dxft parameters and routines.
157	  A couple of small improvements to correct minor quirks in the
158	  menu entry highlighting behaviour.
159
160	* main.c, graphic.c : changes made to accommodate the API changes
161	  introduced in Xaw3dxft. Further code clean-up.
162
163	* image.h, graphic.c, iprocess.c : modified definition of
164	  the imageprocessinfo struct, so that hopefully compilation
165	  still works with gcc 4.5 (gcc-4.5 appears to be more picky with
166	  struct definitions). Thanks to Fedora maintainer Paulo Roma
167	  Cavalcanti <promac@gmail.com> for reporting the issue.
168
1692010-11-01  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
170
171        * Version 2.9.7
172
173        * Arrow keys and "Backspace", "Return", "Escape" keys can now
174          be used in all drawing operations whose effect is not immediate,
175          especially all routines from
176            arcOp.c, lineOp.c, polygonOp.c, freehandOp.c, splineOp.c, TextOp.c
177          Arrow keys allow moving objects around before they are
178          completely drawn,  "Escape" restarts the operation from scratch,
179          "Return" terminates the operation, and "Backspace" rewinds the
180          course of operation backwards.
181
182        * freehandOp.c : this operation now allows to draw arbitrary
183          combinations of freehand and polygonal shapes and should
184          be easier to use or to modify interactively thanks to the key
185          bindings.
186
187        * sprayOp.c : minor code clean-up.
188
189        * updated accordingly Help files.
190
1912010-10-25  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
192
193        * Version 2.9.6.4
194          A couple of small improvements in spline, polygon, text and
195          color operations.
196
197        * fontOp.c, splineOp.c, polygonOp.c : implemented "Backspace"
198          key action,  i.e. removing last point or last character;
199          "Escape" now entirely restarts the operation from the beginning.
200          Other small improvements (including correction of a potential
201          segfault occurring in some strange circumstances...);
202          polygonOp() code is now also much simpler and easier to read.
203
204        * graphic.c : multiple clicks on any of the three color/pattern
205          selection discs now switch primary and secondary colors/patterns.
206
207        * updated accordingly Help files.
208
2092010-10-08  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
210
211        * Version 2.9.6.3 - minor bug fix release - nothing really serious.
212
213        * ops.h : minor compilation issue fixed.
214
215        * graphic.c : corrected segfault bug of RegionToRGBA channels
216          (occurring only when alpha channel was to be saved.)
217
218        * chroma.c : fixed minor scrolling issue in color variance scrollbars.
219
220        * graphic.c : added new menu lines to proceed more easily to editing
221          of alpha channels or images in memory.
222
223        * updated accordingly Help files, messages and app-defaults files.
224
2252010-09-26  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
226
227        * Version 2.9.6.2
228
229        * print.c : printing was completely broken, as a result of using
230          double values instead of float values. Reverted to float !
231
232        * chroma.c, color.c, magnifier.c, fontSelect.c : revert to float !
233
234        * iprocess.c : fixed bug occurring only in very rare circumstances
235          (creation of image with an alpha channel, being edited and
236           compiled on the fly through the embedded C-script editor)
237
238        * graphic.c : small improvement in ModifyRGB (new routine to
239          rescale gray levels linearly from given thresholds).
240
2412010-09-14  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
242
243        * Version 2.9.6
244
245        * rw/rwTable.c, rw/readWriteTGA.c : fixes in TGA format, so as
246          to prevent that xpaint could hang on certain non TGA files.
247          Make sure anyway that TGA is parsed as a last resort, since TGA
248          is a strange format without signature.
249
250        * image.c, iprocess.c, graphic.c : substantial improvements in
251          filter routines :
252          - Added new "Merge" filter : helpful to combine smoothly an image
253            with the underlying canvas. Works according to 4 different modes
254          - Added new "Distortion" filter which can be used to produce
255            local deformations
256          - Added powerful Floyd-Steinberg algorithm (color quantification
257            enhanced with a diffusion process).
258          - Replaced "ModifyRGB" by a generalized RGB transformation procedure
259            with 7 different modes, including Gamma correction (with independent
260            r_gamma, g_gamma, b_gamma parameters), and linear transform.
261          - Fixed several shortcomings of "Normalize contrast" and "Emboss"
262            routines; "Emboss" now has 2 parameters allowing linear correction.
263          - Renamed "Tilt" as "Projective Transform" with several enhancements.
264          - Renamed "ImageCopy" as "ImageCopyData" which says more accurately
265            what it does.
266
267        * graphic.c : Memory menu : management of R,G,B and alpha channels :
268          - Added extraction of red, green, blue, alpha channels from region
269          - Added merge procedure for those channels
270
271        * msgedit.c : new utility which can be used to extract strings from
272          the English version of "Messages" and combine them with a partially
273          localized "Messages_XY" for any other language - useful as well to
274          avoid discrepancies between languages!
275
276        * Many updates to Message and Help files.
277
2782010-09-05  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
279
280        * Version 2.9.5
281
282        * rw/readWritePNG.c : fixed WritePNG() for alpha channel images
283          possessing less than 16 black and white colors, which xpaint
284          tried to write in an incorrect PNG mode.
285
286        * graphic.c : fixed segfault bug when invoking "Clone Canvas"
287          procedure.
288
289        * xaw3dxft : a few hacks to work around minor display bugs related
290          to Xft anti-aliasing/composition effects on certain X servers
291          (especially proprietary NVIDIA ...)
292
293        * main.c : new command line options -tooltips, -notooltips
294
295        * operation.c, graphic.c : implemented tooltips (they can be disabled
296          from the tools/help menu).
297
298        * man page and help files : updated.
299
3002010-08-15  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
301
302        * Version 2.9.4
303
304        * rw/readWriteTGA.c : added support for TGA format (borrowed
305          mostly from mtpaint project).
306
307        * rw/rwTable.c : code clean-up.
308
309        * Paint.c, PaintRegion.c : fixes for certain complex situations
310          involving region selection with masks and alpha channel.
311          (Segfault could occur in Fatbits editor under those circumstances).
312
313        * graphic.c : Suppression of alpha channel could lead to segfault.
314
3152010-08-05  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
316
317        * Version 2.9.3
318
319        * rw/readWriteICO.c : imported a lot of code from the 'icoutil'
320          GPLed package. As a result, xpaint can now read most Windows
321          ICO files, even those containing embedded compressed PNG/JPG
322          images which icoutil cannot fully open. Support for ICO masks
323          as alpha channel, and for writing single image ICO files.
324
325        * rw/readWritePGF.c : PGF image format support improved, thanks to
326	  'pgf2pnm' provided by Christoph Stamm <christoph.stamm@fhnw.ch>
327	  (creator of the PGF format). libpgf and libpgf-dev are needed
328	  only optionally to compile 'pgf2pnm', which then provides PGF
329	  support in xpaint. However, xpaint itself does not link with
330	  libpgf and does not need libpgf-dev to be compiled.
331	  The alpha channel of PGF images is fully supported.
332
333        * graphic.c : improvements/bug fixes in the "Clone with Zoom"
334          procedure. Now works for zooming/downscaling images,
335          with/without interpolation, and for adjusting alpha channel
336          as well.
337
338        * graphic.c, PaintEvent.c : much more powerful implementation of
339          the "Delimit region" procedure, according to six different
340          options (connected/non connected/color range regions, or
341	  complements of such regions).
342
343        * The help files have been updated to reflect all current
344          functionality of XPaint (Spanish help additions should be
345          revised by a native speaker !)
346
3472010-07-29  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
348
349        * Version 2.9.2
350
351        * rw/*.c : huge code clean-up. Saving files now show up a warning
352          when the image possesses an alpha channel, but the format chosen
353          does not support it (completely or in part). Note: saving in PNG
354          should almost always be a safe choice ...
355
356	* rw/readWriteTIFF.c : support substantially improved, including
357          alpha channel read/write. More exotic TIFF formats unsupported.
358
359        * rw/readWriteBMP.c : many more BMP image format types are now
360          supported, including full support for images with an alpha channel
361          (read/write).
362
363        * rw/readWritePNM.c : provisions made to include support for
364          alpha channel in PNM (this is a specific extension of xpaint :
365          an RGB image concatenated with a gray level image of the same
366          size - and '\n' in between - is viewed as RGBA data).
367
368        * rw/readWriteJP2K.c : added support for JPEG2000 image format.
369          Either libopenjpeg (default) or libjasper (optionally) can
370          be used. Full support for alpha channel (requires openJPEG
371          from subversion at this point now, since "stable" version 1.3
372          has insufficient alpha channel implementation...).
373
374        * rw/readWritePGF.c : added support for PGF image format.
375          This requires libpgf and pgf to be installed (but xpaint
376          does not need to be linked against libpgf, and its compilation
377          does not require libpgf-dev files either.)
378
379        * rw/readWriteSGI.c : repaired old dormant code to read
380          run-length encoded SGI/Irix image files. Checked to work fine.
381
382        * rw/readWriteICO.c : unsupported, very buggy code. Disabled
383          at this point. Instead, use e.g. 'icoutil' to convert those
384          files to PNG ...
385
386        * dialog.c : very small fix providing UTF8 support in AlertBox
387          window titles (and always raising warning windows).
388
389        * configure : if libXaw3dxft is installed as a shared library,
390          compilation is now set by default to use it, rather than
391          linking statically xpaint to libXaw3dxf.a
392
3932010-07-18  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
394
395        * Version 2.9.1.5
396
397	* graphic.c : added "*allowResize: False" in Canvas*pane*form
398	  to prevent annoying widget initialization on certain platforms
399
400	* rw/readWritePS.c : small fixes to handle correctly PS/PDF files
401	  whose names contain quotes or blank characters.
402
4032010-07-05  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
404
405        * Version 2.9.1.4
406
407        * fatBitsEdit.c, Paint.c , Paintregion.c : several fixes in
408          handling of alpha channel in fatbits editor - some affecting
409          alpha channel image bits.
410
411        * app-defaults : change zoom labels to correct values xx:1 instead
412          of 1:xx
413
414        * graphic.c : prevent fatbits editor getting called undeservedly by
415          GetNonDirtyCanvas() routine ; removing alpha channel now moves it
416          to memory rather than destroying it right away.
417
418        * rw/readWritePS.c : fix for compilation of TeX/LaTeX files being
419          called from random directories.
420
421        * minor fixes throughout - thanks to the SUSE-Packman maintainer
422          Detlef Reichelt <detlef@die-mafia.de> for help.
423
4242010-06-02  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
425
426        * Version 2.9.1
427
428        * Paint.c , Paintregion.c : fixes in alpha channel routines.
429
430        * fatBitsEdit.c : many fixes in fatbits editor. Refresh button added
431
432        * graphic.c : reload file procedure didn't reload alpha channel - this
433          is now fixed.
434
435        * fontOp.c : potential segfault corrected.
436
437        * small other (mostly random) improvements.
438
4392010-05-16  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
440
441        * Version 2.9.0
442
443        * graphic.c, Paint.c :  big improvements in handling of
444          alpha channel ; alpha management menu is now explicit
445          from canvas menu bar. Support still not quite complete at
446          this point (regions do not appear yet in alpha mode).
447          Should come for 2.9.1...
448
449        * Paint.c, PaintRegion.c : fixed segfault occurring when using
450          region operations in fatbits editor (regression introduced already
451          in 2.8.9 which remained unnoticed up to 2.8.19 ...)
452
453        * fontOp.c, fontSelect.c : UTF8 support should now be essentially
454          complete.
455
456        * rw/readWritePNG.c : fixed bug when writing PNG_COLOR_TYPE_PALETTE
457          images with less than 16 colors (those images were wrongly
458          converted to gray palette...)
459
460        * several other small fixes and improvements throughout.
461
4622010-04-17  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
463
464        * Version 2.8.19.1 (mostly cosmetic changes)
465
466        * fileBrowser.c : added "ongoing" mode in File Browser (widget no
467          longer closes when opening an image, allowing to browse files
468          continuously). Performed a substantial code clean-up as well.
469
470        * operation.c, graphic.c : menu improvements; one can now open an image
471          from any canvas window.
472
473        * misc.c : added RaiseWindow() routine to comply better with ewmh
474          specifications. XMapRaised() replaced by RaiseWindow() throughout.
475
476        * "snapshot" replaced by "screenshot" throughout.
477
4782010-04-05  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
479
480        * Version 2.8.19
481
482        * fileBrowser.c : fixed minor annoyance in "save" and "saveas"
483          routines - name of file is now again remembered when a filename
484          has already been set.
485
486        * graphic.c : fixed bug in ToolSelection switcher; "font" menu
487          replaced by more powerful "text" menu; new entry added
488          to edit/write text from text editor embedded in font browser.
489
490        * iprocess.c : fixed bug in filter "adjust RGB colors"
491
492        * fontSelect.c, fontOp.c : text sample is now editable, and this text
493          can be imported on canvases. This includes being able to set fonts,
494          colors, linespacing (etc) as editable text. Any UTF8 encoded file
495          can be read and edited, and a small number of special commands
496          are available to format such texts; for hints on how to use this,
497          see "Doc/TextFormat.doc". Xpaint can thus  be used as a text editor
498          (sort of!), useful e.g. to create posters with text and graphics.
499
500        * rw/readWritePS.c : support for reading a file as "enriched text".
501
502        * main.c : new command line options -textfont and -astext, the latter
503          for opening files as enriched text.
504
505        * share/bin/imgmerge : small tweak to use a static PageInfo struct,
506          otherwise imgmerge would segfault (gcc bug ?)
507
5082010-03-13  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
509
510        * Version 2.8.18
511
512        * Minor fixes (UTF8 names in windows, rare segfault when using
513          external viewer)
514
515        * rw/readWritePNG.c : xpaint now saves correctly gray images
516          which have an alpha channel.
517
518        * rw/rwTable.c : introduces auto-detect mode for writing
519          files (image type is guessed from suffix of file name,
520          and set to PNG as a fallback).
521
522        * xaw3dxft : changed library name to libXaw3dxft to avoid
523          interfering with regular libXaw3d. Added hooks in 'configure'
524          to (possibly) install and compile it as a shared library.
525          Corrected an issue in xaw3dxft/List.c which could sometimes
526          lead to a fatal X error.
527
528        * Added man pages for imgmerge and pngconcat (provided by Debian
529          maintainer Josué Abarca)
530
531        * Removed dependency on Xft.h in PaintP.h which had the unfortunate
532          effect of breaking C-Script compilation, e.g. in imgmerge.
533
5342010-03-06  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
535
536        * Version 2.8.17
537
538        * Xpaint is now fully UTF8 compliant. This has been done rather
539          cheaply by linking statically with a modified xaw3d library
540          which is UTF8 & Freetype aware. This also means that anti-aliasing
541          is enabled in the menus and text widgets, and that the X core font
542          protocol is no longer used anywhere.
543
544        * By default, Xpaint no longer depends on external xaw/xaw3d/xaw3dg
545          libraries as it is compiled with its own improved xaw3d clone;
546          this only adds approximately 250 kB to the binary executable.
547
548        * Xpaint can still be used with 8 bit encoding by specifying the
549          command option 'xpaint -encoding 8'. However the resource files
550          XPaint* Messages* Help* should then preferably be converted back
551          to a 8bit locale, otherwise some strange characters will show up
552          in the menus, at least in languages which use non ASCII characters.
553
5542010-02-17  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
555
556        * Version 2.8.16.1
557
558	* fontSelect.c, misc.c : introduced clickFocusCallback which
559	  fixes keyboard focus in fontSelect and in color picker
560	  ascii text input widgets (problem occurred e.g. under KDE).
561	  Use 2.8.16 with xpaint-2.8.16-keyboard-input.patch.
562
5632010-02-12  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
564
565        * Version 2.8.16
566
567        * graphic.c, fontOp.c, fontSelect.c : Xpaint now uses the Xft protocol
568          to display fonts, so that (in particular) all TrueType fonts are
569          available, and the corresponding glyphs are nicely anti-aliased
570          without resorting to a use of sub-pixel resolution.
571          Another benefit is the possibility of rotating text, or even
572          applying arbitrary linear transformation (however, writing fonts
573          with a pattern instead of a plain color is no longer possible
574          directly - for this, one can use instead masks or a fill
575          procedure).
576
577        * rw/readWritePNG.c : applied small patch from Stefan Husmann
578          (Arch Linux maintainer) to take care of API deprecation
579          in newer versions libpng-1.4.x.
580
5812010-02-01  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
582
583        * Version 2.8.15
584
585        * PaintRegion.c : finally found and corrected long standing bug
586          which plagued iteration of filters and undo procedures.
587
588        * fileBrowser.c : several GUI improvements.
589
590        * rw/readWritePS.c : improved handling of BoundingBoxes.
591          Fixed bug in the use of 'psselect' which was found on the Fedora
592          bugzilla list (many thanks to Paulo Roma Cavalcanti
593          <promac@superig.com.br> for analyzing the issue)
594
5952010-01-29  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
596
597        * Version 2.8.14
598
599        * graphic.c : memory management simplified and improved; added CRC32
600          checksum control to avoid duplicates.
601
602        * rw/readScript.c : fixed potential bug occurring in rare circumstances.
603
604        * Various fixes in batch scripts 'imgmerge', 'batch.c' and 'xpaint_ocr'
605          GPLv3 licence specified there.
606
607        * Included new debian files released by Debian maintainer Josué Abarca
608
609        * xpaint.man.in : corrected a ­ issue (thanks again to Josué Abarca)
610
6112010-01-20  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
612
613        * Version 2.8.13
614
615        * Paint.c : corrected nasty bug
616
617        * graphic.c : GUI improvements. Border color of paint widget now
618          indicates status of image (red: non editable, green: resize enabled,
619          blue: has an alpha layer, black: otherwise).
620
621        * image.c : ImagaToPixmap() et al modified so as to manage alpha
622          channel mode once for all (rather than repeating this for each
623          of the image loaders).
624
6252010-01-18  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
626
627        * Version 2.8.12
628
629        * misc.c, graphic.c : some more fixes for alpha channel issues.
630
6312010-01-17  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
632
633        * Version 2.8.11
634
635        * fileBrowser.c : browserResized() : included patch for accommodating
636          bug in certain versions of the Xaw3d library
637
638        * Paint.c : PwGetPixmap() modified so as to work independently of
639          zoom value. Saving a file under zoom<1 now works !!
640
641        * graphic.c : there is now support for adjusting join and cap style
642          of lines being drawn. Fixed handling of memory box.
643
644        * Code for alpha channel completed and made more robust
645          (substantial changes in graphic.c, Paint.c, PaintRegion.c)
646
6472010-01-10  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
648
649        * Version 2.8.10
650
651        * graphic.c : many GUI improvements. Some alpha channel fixes.
652          (arbitrary linear transformation of alpha channel still not
653           implemented).
654
655        * lineOp.c : fixed arrow and vector drawing under zoom != 1
656          (were correctly written to pixmap but incorrectly shown on canvas).
657
658        * fileBrowser.c : a few cosmetic changes to make code more robust.
659
660        * rw/readWritePNG.c : fixed readPNG() for non transparent PNG
661          images possessing a palette of colors.
662
6632010-01-06  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
664
665        * Version 2.8.9
666
667        * polygonOp.c : segfault bug corrected. Polygonal regions can now
668          be selected correctly under zoom values other than 1.
669
670        * xpaint.h : various API modified to include alpha channel
671          (in images, paint canvases, clipboard, memory stack...)
672
673        * PaintUndo.c : implemented alpha channel in Undo stacks
674
675        * PaintRegion.c, graphic.c : routines to set/show/edit the alpha
676          channel are now implemented in a fairly complete manner.
677
678        * readWritePNG.c : xpaint now saves a canvas with an alpha channel
679          as a PNG file with a corresponding alpha channel.
680
681        * readWriteXPM.c : xpaint now saves a canvas with an alpha channel
682          as an XPM file with a "None" color (reduced to a 0/1 mask).
683          (By default, alpha<128 is considered to be transparent and
684          alpha>=128 to be opaque. The threshold value 128 can be
685          changed from the options.)
686
687        * readGIF.c : xpaint can now read alpha channel of GIF89 files
688          possessing transparent pixels (setting transparent pixel in
689          writeGIF.c not yet implemented).
690
6912009-12-09  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
692
693        * Version 2.8.8
694          Interim release with partial support for transparent images; alpha
695          channel is now correctly read when loading PNG and XPM images.
696          Easier management and writing support will be implemented
697          in 2.8.9.
698
699        * rw/readGIF.c : xpaint will now open all frames of animated
700          GIF images, and not just the first frame - support of this
701          feature was already there, but had never been made accessible
702          from the GUI !
703
704        * rw/readWritePNG.c : xpaint now detects PNG images possessing an
705          alpha channel and loads them properly. The RGB values and alpha
706          channels can be edited separately (but not yet mixed back easily).
707
708        * rw/readWriteLXP.c : preliminary implementation of layered xpaint
709          image format LXP. File share/c_scripts/templates/image.c used as
710          template.
711
712        * pattern.c : new button introduced to modify background color (thus
713          duplicating functionality from the separate background color
714          widget).
715
716        * fileBrowser.c : widget improved. Four new buttons added to get
717          directly to home, root and current directory, and to show/hide
718          dot files. The browser of loaded files now has buttons for
719          editing C scripts and managing layers (implementation somehow
720          works, but is not yet complete).
721
722        * iprocess.c : corrected segfault bug occurring in
723          certain circumstances, e.g. when loading recursive image C-scripts.
724          In particular, "layer" example share/c_scripts/layers/combine.c
725          now works again.
726
7272009-11-18  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
728
729        * Version 2.8.7.3 (very minor changes)
730
731        * graphic.c : corrected very tiny bug in resizeCanvas() routine
732          which resulted in occasional disappearance of Fatbits cursor,
733          when the canvas was resized under certain zoom reduction values.
734
735        * fatBitsEdit.c : added convenience routine
736          FatbitsEditorDestroy(paint)
737          (not yet used inline - could possibly be used from C scripts).
738
739        * small addition in Local.config file
740
7412009-11-15  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
742
743        * Version 2.8.7.2 (very minor changes)
744
745        * Further cosmetic fixes and code cleaning ; X error handler
746	  improved (just in case).
747
748        * snapshot.c : taking a snapshot from the tools window now unmaps
749          the window (so that any window stacked behind can be captured);
750	  spurious warning 'bad pixmap' from libX11 has been eliminated.
751
7522009-11-06  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
753
754        * Version 2.8.7.1 (released only as a patch to 2.8.7).
755
756        * Further cosmetic improvements and code cleaning not really
757          worth bothering (e.g. popup menus which, when users change
758          their mind and no longer want to use them, may not immediately
759          popdown as would be expected when clicking randomly outside, e.g.
760          on the canvas ...)
761
7622009-11-04  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
763
764        * Version 2.8.7 released.
765
766        * graphic.c, menu.c, PaintEvent.c : a substantial number of
767          cosmetic changes made to further improve the menu behaviour.
768
769        * fileName.c renamed as fileBrowser.c
770
771        * fileBrowser.c : Some "flickering" issues in the browser have
772          been corrected. The file browser of "loaded files" now include
773          ad hoc fields and buttons for modifying the scaling of
774          vector format images (PS/PDF/DVI/TeX/LaTeX/SVG) as well as
775          for selecting a page in multi-page documents. Now, Xpaint can
776          thus be used as a practical viewer for such documents - though
777          for this purpose it's certainly not as fast and optimized as
778          specialized viewers ...
779
780        * readWritePS.c : multipage PostScript files require 'psselect'
781          from the psutils package. (This is a very simple program so
782          we may consider including it in the next version of xpaint
783          to remove that dependency.) DVI files are now accepted, along
784          with PS/PDF/TeX/LaTeX/SVG.
785
786        * print.c : selecting PDF option now (really) saves file as PDF
787          rather than PostScript.
788
789        * Merged Changelog and (unmaintained) file Doc/CHANGES
790
7912009-10-27  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
792
793        * Version 2.8.6.1 released.
794
795	* bug fixes :
796	  main.c : xpaint did not accept setting default zoom < 100%
797	           through command line
798	  graphic.c : underestimated evaluation of canvas window size
799	              for large images, resulting in image not being
800	              fully displayed even when it could.
801	  PaintRegion.c : segfault bug occurring in certain circumstances
802	                  when dragging a region outside viewport, in
803	                  region transparency mode.
804
8052009-10-26  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
806
807        * Version 2.8.6 released.
808
809        * Extensive changes in many parts, to provide capability for
810          zoom = 1/n, while performing all possible operations under
811          such a zoom. This means that anti-aliasing can be obtained
812          by using e.g. zoom = 1/3 and then cloning the canvas with
813          the given reduction.
814
815        * magnifier.c: Introduced a magnifying glass, based on code of
816          'xlupe' by Thomas Runge (runge@rostock.zgdv.de)
817
818        * operation.c: menu now includes an item to open the magnifying
819          glass, and a browser for all images which have been opened or
820          loaded from the command line.
821
822	* fileName.c : the buildBrowser() routine has been extended to
823	  have a mode ('type=4') showing the list of loaded images.
824
825        * graphic.c: edit menu includes 2 items for cloning the canvas
826          (with or without reduction)
827
828        * a lot of bugs have been ironed out, e.g. a crash in the polygon
829          selection area, and a very long-standing bug in the memory
830          management of menu.c which used to cause (fortunately unfrequent)
831          random crashes.
832
8332009-10-16  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
834
835        * Version 2.8.5 released.
836
837        * graphic.c, user visible changes : added a zoom button and a
838          new toggle allowing to resize the canvas, using mouse or arrow
839          keys. Several other related improvements have been made for
840          zooming/resizing, along with a few minor fixes (the layer example
841          "layer.c" compiles again without segfaulting.)
842
8432009-10-13  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
844
845        * Version 2.8.4 released.
846
847        * pattern.c : Fixed segfault bug in color/pattern budget, which
848          occurred when creating new brushes.
849
850        * print.c : added new toggle so as to possibly produce a compressed
851          PS file, or send to printer a PDF file rather than a PS file. The
852          annoying printing notification popup has been replaced by a less
853          intrusive notification. Many other small improvements - e.g.
854          output postcript file can be selected with a file browser.
855
856        * rw/readWritePS.c : the PostScript generator has been considerably
857          improved. XPaint is now capable of producing strongly compressed
858          PostScript files, of weight increased hardly by more than
859          30%-35% when starting from a PNG file of the same resolution,
860          and the process is faster than before - it seems that even gimp
861          does not yet take care of this, its PS files can often be reduced
862          to less than 50% of their current size (huge thanks to Peter Szabo
863          for showing the way with his sam2p program.)
864          A standalone 'ppmtops' utility has been included for potential
865          re-use elsewhere.
866
867        * Clarification of the licence. Xpaint is an old program, many
868          parts of which were written at a time when the GPL was not so
869          pervasive. To the best knowledge of the current maintainer,
870          all parts where written under permissive licences which are
871          compatible with the GPL. J.-P. Demailly thus puts under the GPLv3
872          all code developped by him in the last twelve years - that's
873          probably more than 30% of the total amount of code, and the
874          program as a whole should thus be considered as GPLv3. All
875          related utilities ('ppmtops', C scripts, etc) are also put
876          under the GPLv3.
877
8782009-10-01  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
879
880        * Version 2.8.3 released.
881
882        * Included 2 patches from Mandriva packagement experts, fixing
883          some minor compilation problems and potential security issues.
884
885        * rw/readWritePS.c : xpaint is now able to display TeX, LaTeX,
886          PDF and SVG files using image conversion from external ad hoc
887          programs. Option -dpi <dpi value> can be used to adjust
888          size of image.
889
8902009-10-01  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
891
892        * Version 2.8.2 released.
893
894        * pattern.c : found and fixed two long standing segfault bugs
895          (fortunately occurring only in not so frequent circumstances)
896
897        * Set default gridcolor to grey80 on TrueColor displays,
898          a less intrusive color than black.
899
9002009-09-29  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
901
902        * Version 2.8.1 released.
903
904        * Introduced rectangular (not just square) snap grids.
905	  Color of grid can be changed to arbitrary color.
906
907	* graphic.c : corrected segfault bug in simplemenu switcher
908	  (selector popup).
909
9102009-09-27  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
911
912        * Version 2.8.0 released.
913
914        * Menu popups have been entirely reworked. Their behaviour is now
915          more fluid - and similar to the default behaviour of modern
916          toolkits like GTK/qt - so users should feel less disturbed.
917          (this required numerous changes in menu.c and app-defaults)
918
919        * Fixed size handling of Canvas windows under maximize/unmaximize
920          procedures.
921
922        * Stability should be considerably improved. Some memory leaks
923          have been removed as well.
924
925	* Added new command line options:
926	  -undosize <num>  (set undo memory limit)
927	  -operation <num> (start with operation <num> set in tool panel)
928	  -filter <file>   (define filter by using <file> as C-script)
929	  -proc <file>     (define procedure by using <file> as C-script)
930
931	* Added support for using menu popups in C script filters
932          See share/c_scripts/filters/clean.c
933          for an example. This means that C script filters can involve
934	  adjustable parameters which can be easily changed (i.e. without
935	  needing a recompilation each time the parameters are changed.)
936
937	* Added support for using menu popups in C script procedures
938          See  share/c_scripts/procedures/proc_with_params.c
939          for an example
940
941	* iprocess.c, rw/readScriptC.c : added support for running
942          batch jobs (for mass processing of images, using xpaint as the
943          engine); see
944	    share/c_scripts/batch/batch.c
945	    share/bin/imgmerge
946
947        * Added batch script 'imgmerge' which uses xpaint to convert
948          and concatenate image files into a single PDF file. This also
949          makes use of Peter Szabo's 'pdfconcat' program (GPL, included).
950
951	* Added support for OCR (with the ocrad engine by default)
952          The OCR engine(s) can be specified in the bash script
953          /usr/share/xpaint/c_scripts/bin/xpaint_ocr
954	  This means that xpaint can be easily used as a GUI for command
955	  line OCR engines ('xpaint_ocr' makes use of the 'xless' pager,
956	  by default, but any other pager/editor can be used instead).
957
958        * brushOp.c: system wide brushes are no longer hardwired, and can
959          now be configured from the SHAREDIR directory.
960
961        * Added additional brushes provided by John David Gray
962          <kahdgarxi@gmail.com> which are useful to draw electronic
963          circuitry. Also included a patch of him introducing three new
964          patterns and extending the drawVisibleGrid() routine
965          in Paint.c
966
967        * Fixed (and improved as well) behaviour of snap and grid
968          routines, also using ideas of JD Gray.
969
970        * Changed rotations to use trigonometric positive rotation rather
971          than clockwise. This was too unnatural to me !
972
973        * Numerous bug fixes. Thanks to Mattis Michel <sic_zer0@hotmail.com>
974          for correcting a bug in the snap routines and for providing
975          further improvements; Mattis noticed - and urged correction -
976          of a critical bug in the "Load clipboard" procedure; he also
977          suggested putting WM hints on minimal size of widgets so as to
978          avoid random crashes under wild resizing of the windows.
979
980	* Updated the man page - which had actually been neglected
981	  for a couple of years ...
982
983
9842005-09-12  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
985
986        * Work on version 2.7.9 started (never published)
987
988        * Minor bugfixes in graphic.c : zoomed windows are now  correctly
989          initialized; the canvas size bug (which started in 2.6.9 and is
990	  due to a Xaw widget misbehavior) is now better understood and
991	  properly fixed.
992
9932005-09-09  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
994
995        * Version 2.7.8.1 released.
996
997	* PaintRegion.c : fixed bug analyzed by Greg Roelofs
998	  <newt@pobox.com>. Routine for fake-transparency of
999	  selected regions no longer crashes xpaint when zoom > 1.
1000
10012005-08-13  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1002
1003        * Version 2.7.8  released.
1004          (Minor enhancements and bug fixes)
1005
1006	* main.c, fileName.c : merged a patch from Greg Roelofs
1007	  <newt@pobox.com> which fixes a few bugs occurring when message
1008	  files were corrupted, absent or didn't match the current version,
1009	  or when the app-defaults file could not be found.
1010
1011	* fixed position of buttons in "Save as" dialog; corrected another
1012	  bug which could produce segfaults or various annoyances (e.g.
1013	  blank input text box)
1014
1015	* operation.c : corrected inconsistent color behaviour of
1016	  "Tools" window under screen depths less than 24
1017
1018	* graphic.c : work-around for a bug which was apparently
1019	  related to the Xaw/Xaw3d toolkits (??) (infinite loop when
1020	  creating canvas size w x h with w = 640 and h != 480 ... )
1021
1022	* graphic.c : corrected some minor misbehaviour of the
1023	  region operators (motions)
1024
1025	* implemented a more or less consistent behaviour of the
1026	  Escape key.
1027
1028	* fixed the default undolevels to 6, since modern computers
1029	  can stand it.
1030
1031	* rw/readWritePS.c : as a (very) preliminary step towards adding
1032	  DTP capabilities, xpaint can now read TeX/LaTeX documents
1033	  (magic string should be %TEX or %LTX, respectively). This is
1034	  still not very usable, though, since the editing capabilities
1035	  are not yet implemented.
1036
10372005-05-08  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1038
1039        * Version 2.7.7  released.
1040          (Major enhancements)
1041
1042	* splineOp.c : implemented selection of spline regions
1043
1044	* lineOp.c : implemented arrow heads, 3 types of arrow heads
1045	  are now available
1046
1047        * boxOp.c : implemented boxes with round corners
1048
1049	* polygonOp.c : implemented regular and starlike polygons
1050	  (also available for filling and selection of regions).
1051
1052	* operation.c : XPaint now has 30 tools instead of 27.
1053
1054	* Numerous smaller fixes and enhancements
1055
10562005-04-10  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1057
1058        * Version 2.7.6_3 released.
1059
1060        * Incorporated RPM spec file and debian build files
1061
1062	* Fixes in pattern.c in deletePatternCB()
1063
10642005-04-01  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1065
1066        * Version 2.7.6_2 released.
1067
1068	* Fix in print.c which could cause segfaults
1069
10702005-03-31  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1071
1072        * Version 2.7.6_1 released.
1073
1074	* Fix in dynPencil.c which caused segfaults
1075
10762005-03-30  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1077
1078        * Version 2.7.6 released.
1079
1080	* Bug hunting continued. The open file dialog should now behave
1081	  properly, taking snapshots should no longer segfault, nor
1082	  editing patterns.
1083
10842005-03-18  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1085
1086        * Version 2.7.5 released.
1087
1088	* Support for scrolling with mouse wheel button
1089
1090	* Support for neXtaw widgets
1091
1092	* Bug fixes (randomly occurring segfault fixed -
1093	  nargs = 0 not properly reinitialized in menu bar routine !)
1094
1095
10962005-02-19  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1097
1098        * Version 2.7.4 released.
1099
1100	* All popup windows now behave properly under resize requests.
1101	  This corrects former (extremely buggy) behaviour.
1102
1103	* Segfault bug in Print popup corrected
1104
1105	* The transparency activation/disactivation of selected regions
1106	  under mouse clicks has been substantially improved.
1107
1108	* Xaw95 widgets have been removed from the source tree, and
1109	  Xaw3d is now the recommended widget set.
1110
11112005-01-26  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1112
1113        * Version 2.7.3 released.
1114
1115	* Incorporated OpenVMS port by Jouk Jansen
1116	  <joukj@hrem.stm.tudelft.nl>
1117	  http://nchrem.tnw.tudelft.nl/openvms/software2.html
1118
1119	* PNG is now the default image format
1120
1121	* Corrected long standing bug in StdSnapshotCallback() in graphic.c
1122
1123        * Added -clipboard option which loads files from command line
1124          into clipboard.
1125
11262004-10-16  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1127
1128	* Version 2.7.2 released.
1129
1130	* Added .bmp format (read/write)
1131
1132	* Support for .ico format with 24 or 32 bits per pixel.
1133
1134	* Now opens a confirmation dialog in case a file is going to be
1135	  overwritten.
1136
1137	* Improved printer management - this should now work at least
1138	  with BSD printing systems and with CUPS.
1139
11402004-08-21  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1141
1142	* Version 2.7.1 released.
1143
1144	* added 'Stain' procedure in the Pencil tool options, based on
1145	  suggestions by Ross Clement <R.P.Clement@westminster.ac.uk>
1146
1147	* The 'Unselect region' procedure can now be found under the
1148	  Edit popdown menu rather than under the Region popdown menu
1149
1150        * added Spanish localization files thanks to the work of
1151	  Maria Dolores Almansa Tejada <dolores.almansa@corazondemaria.org>
1152
1153	* improved the Print Utility (under Linux/BSD systems, the list of
1154	  printers now appears as a pulldown menu)
1155
1156
11572003-07-01
1158
1159	* libpnmrw.c, writeGIF.c : merged MandrakeSoft's "errno patch"
1160
11612003-06-09  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1162
1163	* Version 2.7.0 released.
1164
1165	* iprocess.c : added (still rather crude) implementation of user
1166          defined C scripts. Users can now define their own 3D (or 2D)
1167          routines to build arbitrary graphs, plots, 2D-3D objects or
1168          images. This also allows using "layers" within xpaint. Check
1169          the examples from the C script widget menu to see how this works.
1170
1171	* graphic.c : implemented a new "memory" widget which can be used
1172          to manipulate layers graphically.
1173
1174        * Merged patch by Greg Roelofs <newt@pobox.com> that fixes an
1175          image-corruption bug in WritePNG() (fix in image.c), plugs some
1176          memory leaks (row_pointers) in ReadPNG(), and adds support for
1177          converting a gray palette image to grayscale PNG (also in
1178	  WritePNG()).
1179
1180	* Xaw95 : finally fixed the behaviour of scrollbars in viewport
1181	  widgets; scrollbars don't appear anymore unless they are needed.
1182
1183	* main.c : the scrollbar bugfix allowed to remove unnecessary
1184	  resize calls, so the XAW95 switch has been removed there...
1185
1186	* polyOp.c : fixed infinitesimal bug, which caused horizontal
1187	  and vertical segments not to appear during mouse motion.
1188
1189	* menu.c : fixed bug in floating popup menu (incorrect default
1190	  position for zoom > 1)
1191
1192	* PaintRegion.c : added rounding procedure in multiplication
1193          of matrices mm(), to avoid artefacts for rotations by 90, 180
1194          or 270 degrees.
1195
1196        * PaintRegion.c, selectOp.c : implemented suggestion by
1197	  Greg Roelofs; the selected region becomes semi-transparent if
1198	  the Alt key is pressed.
1199
12002003-02-18  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1201
1202	* Version 2.6.9 released.
1203
1204	* selectOp.c : Fixed some minor misbehaviour of region selection
1205          operators.
1206
1207	* menu.c : Improved the 'XtTranslations' mechanism; as a consequence,
1208	  the floating popup menu widget now has a more fluid behaviour.
1209
1210	* iprocess.c : The 'Compile' button now issues more explicit
1211          comments indicating success or failure.
1212
1213	* main.c : added -simplepopup and -fullpopup otions. This controls
1214	  whether the floating canvas popup just shows the edit commands or
1215          the whole menu from the menubar. As a consequence, a few changes
1216	  have been also necessary in graphic.c and menu.c.
1217
1218	* corresponding updates in xpaint.man, app-defaults and help files.
1219
12202003-02-09  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1221
1222	* Version 2.6.8 released.
1223
1224	* Cleared-up a lot of compilation warnings.
1225
1226	* main.c : added -snapshot option. This runs silently xpaint
1227	  in snapshot capture mode, and opens the widgets after the screen
1228	  capture has been made.
1229
1230        * print.c, graphic.c : fixed "close routine" of Print and
1231          External popups, which could result in a segfault under certain
1232          circumstances, and/or in popups lock-up.
1233
1234	* arcOp.c : Greatly improved procedures for drawing arcs
1235          of circles or arcs of ellipses - 4 options are now available
1236
1237	* splineOp.c : it is now possible to draw an arbitrary combination
1238	  of Bézier cubics and line segments. Bug fixes : display is now
1239          correct even under zoom factor larger than 1.
1240
1241	* lineOp.c : Implemented arrows, following suggestion by
1242	  Larisa Shapiro <larisa@mmi.co.il>
1243
1244	* operation.c / Line Menu : Implemented dash styles
1245
1246	* iprocess.c : implemented user defined filters. This is made
1247	  through C scripts which are compiled as shared libraries with gcc,
1248	  and dynamically linked to xpaint. See ./share/filters/merge.c
1249	  for an example. A new Script Editor widget has been introduced
1250	  to facilitate the scripting process.
1251
1252	* chroma.c : removed confusing Ok button (it had exactly
1253	  the same effect as the Apply button, closing the window
1254          afterwards - instead, just click Apply, and then Close...)
1255
1256	* snapshot.c : put XFlush(dpy) and XGrabServer(dpy) in correct
1257	  order. No more "menu widget ghosts" trailing around...
1258
1259	* rw/readWriteICO.c : partial support for reading/writing
1260	  Microsoft's icon format, based on ico2xpm code.
1261
1262	* rw/readWritePS.c : xpaint now also has (kind of!) *write*
1263          support for PDF format.
1264          CAUTION : the output is just raw bitmap PDF data. If you
1265          overwrite an existing PDF file, all formatting data and any
1266          other information embedded in the input file is irretrievably
1267	  lost, especially all embedded text.
1268
12692002-11-24  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1270
1271	* Version 2.6.7 released.
1272
1273	* Implemented many suggestions by Andre Pascual (at least the first
1274	  four items) <andre@linuxgraphic.org> :
1275
1276	* graphic.c : The last filter that has been applied can now be
1277          undone without using the clipboard - and it really works!
1278
1279	* graphic.c : implemented a new canvas widget that provides a quick
1280	  access to all colors and patterns from the palette. The menu bar
1281	  has been simplified and reorganized.
1282
1283	* pattern.c : added a "Close" button.
1284
1285	* fatBits editor : moving the fatBits hot spot by dragging the
1286          mouse on the canvas works again. Removed the unneeded "Position"
1287          button.
1288
1289        * graphic.c : Added to the "Region Menu" a general
1290          "Linear Transformation" procedure which can be applied to
1291          arbitrary regions. Coding fairly trivial since this was already
1292          implemented but had not been made available from the menu ...
1293
1294	* graphic.c : Moved the "tilt" region operation to the Filter Menu.
1295
1296	* graphic.c : The "Clone region" procedure now takes care of
1297	  geometry, i.e. one can clone a distorted area as well
1298
1299	* brushOp.c : brushes defined in the RC file are now *really*
1300          effective in the Brush Selector, and saved together with the
1301	  palette editor. The pattern Editor also allows to save
1302	  patterns as new brushes.
1303
1304	* DefaultRC : added new default colors and patterns
1305
1306	* bitmaps/
1307	  Added a new set of smaller (and nicer) tool icons, derived from
1308          work by Peter Keel (killer@discordia.ch)
1309
13102002-11-06  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1311
1312	* Version 2.6.6 released.
1313
1314	* New filter available : Modify RGB components by given percentage
1315
1316	* Filter operations can now be undone (just the last step...) -
1317          this is done by copying the current region to the clipboard,
1318          immediately before applying the filter.
1319
1320        * Window menu bars can now be hidden or shown again.
1321	  A new option -nomenubar initializes paint windows without
1322	  menu bars. Might be helpful for running xpaint on PDA's...
1323
1324	* Improved window-resize routines. New option -winsize is there
1325          in order to predefine canvas window size from command line.
1326
1327        * cutCopyPaste.h  renamed  'region.h'
1328
1329	* Numerous bug corrections. Xpaint-2.6.6 now appears to be very
1330          stable, considerably more than 2.6.3--2.6.5, possibly more than
1331          2.6.2 which still had a few issues especially with snapshot and
1332          fractal fill operations.
1333
13342002-10-28  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1335
1336	* Version 2.6.5 released.
1337
1338	* Removed dependency on sed script ad2c.script. All "sed-like"
1339	  preprocessing is done instead by the C program substads.c
1340
1341	* graphic.c : extensive reworking of the canvas menus.
1342          For this purpose, graphic.c  has been merged with cutCopyPaste.c.
1343	  All menus are now available from the canvas top menu bar, or
1344	  from the popup menu by clicking with button 3 on the canvas.
1345
1346	* pattern.c : extensive reworking. There is now a unified color
1347	  and pattern selector. This selector operates independently from
1348	  the canvas windows
1349
1350	* xaw95 : the modified Athena widget set Xaw95 has been included.
1351	  This provides a much more modern aspect to xpaint...
1352
1353	* Imakefile : has been extended to support compiling and linking
1354	  with Xaw95. Default is still plain Xaw. Use instead 'make xaw95'
1355	  or 'make xaw95static' to compile with Xaw95.
1356
1357	* Corrected several minor glitches of version 2.6.4.
1358
13592002-09-24  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1360
1361        * Version 2.6.4 released.
1362
1363	* Reworked the organization of buttons in the Toolbox widget.
1364	  Toolbox now fits on 640x480 displays.
1365
1366        * print.c : corrected bug that affected the size of the page, in
1367          case the format was changed.
1368
1369        * splineOp.c : added a switch with the Control key to commute
1370          interactively between Closed and Closed-up spline curve types.
1371
1372	* operation.c : initialized tfillStepStr to maximal value 300 in
1373          true color mode, and to 25 in pseudo-color mode.
1374
1375        * main.c : added routines to handle external 'Help' and 'Messages'
1376          files. Added a possibility to change the app-default file according
1377          to the environment parameter "LANG".
1378
1379        * removed all (or most...) explicit message strings scattered over the
1380          various C source files, and replaced them with pointers to the new
1381	  msgText[] message data structure. As a result, XPaint can now be
1382          internationalized without modifying the code.
1383
1384        * Imakefile : has been updated to accommodate all new files that come
1385          up with the internationalization (app-defaults, Help, Messages).
1386
1387	* README : updated to include internationalization stuff.
1388
13892002-09-03  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1390
1391	* Version 2.6.3 released.
1392
1393	* Changed writePS.c to readWritePS.c, and added correspondingly
1394          ReadPS, TestPS and TestPDF routines. As a result, xpaint now
1395          reads PostScript and PDF formats, thanks to a 'gs' system call.
1396
1397	* print.c : added a "Print Utility" widget which should help a
1398          lot for adjusting the size and position of the image on the page
1399	  when printing.
1400
1401	* graphic.c : added 'ext_im_viewer' and 'ext_ps_viewer' parameters.
1402          The external image viewer can now be called even when the current
1403	  image has not been saved (a temporary file is used for that purpose).
1404
1405	* snapshot.c : cleaned up a little bit the code and -- hopefully --
1406          removed a memory leak.
1407
1408	* XPaint.ad.in:
1409	  Made some changes, corrections and additions
1410          (*XPaint*SimpleMenu*translations, *Canvas*Box*Paint*translations)
1411	  as a work-around to accommodate strange behaviour under some
1412          XFree-4.0.x servers.
1413          Added accordingly a "return" case when Button3 is pressed in
1414          all press() routines, although Button3 should not occur.
1415
1416	* Added an option XAW95 in the Imakefile, so that xpaint can be
1417          linked smartly against Xaw95 widgets (the resulting look of the
1418          widgets is _so much nicer_ with Xaw95 than with plain Xaw...)
1419
1420	* Added fractal density parameter (so that water and sky colors
1421          become somewhat more realistic).
1422
1423	* increased the default width of the color selector and of the
1424          pattern editor -- so that the scrollbars are now wide enough to
1425          become accurate and efficient.
1426
1427	* Changed "File" menu to "Canvas" menu in toolbox, because it is
1428          mainly concerned with canvases and not so much with files.
1429
1430        * Added "Erase all" function in the "Edit" menu (after realizing
1431          that some beginners had difficulties figuring out how to blank
1432          the picture...)
1433
1434	* readRC.c: tried a security fix from Debian maintainer in the
1435	  openTemp() routine. Finally removed it because it didn't seem
1436          to work on my machine...
1437
1438	* Imakefile: added a "realclean" option
1439
14402001-06-12  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1441            & Torsten Martinsen  <torsten@image.dk>
1442
1443	* Version 2.6.2 released.
1444
1445	* Local.config:
1446	  According to Craig Ian Dewick <craig@lios.apana.org.au>, it is
1447          not necessary to define MISSING_STRERROR with Solaris 8.
1448
1449	* XPaint.ad.in:
1450	  Increased XPaint.height by three pixels on request from Greg Roelofs.
1451
14522000-10-02  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1453            & Torsten Martinsen  <torsten@image.dk>
1454
1455	* Version 2.6.1 released.
1456
1457	* splineOp.c, snapshot.c: Style cleanup.
1458
1459	* misc.h, fileName.c, rw/libpnmrw.c, rw/rwTable.c,
1460	  rw/writeGIF.c, rw/writePS.c: Cygwin patch from Volker Zell.
1461
1462	* Help.txt: Fixed typo.
1463
14642000-09-11  Torsten Martinsen  <torsten@image.dk>
1465
1466	* misc.h: Removed bogus prototype for main().
1467
1468	* dynPenOp.c:
1469	  Fixed return type of timeout() (thereby eliminating warning).
1470
1471	* main.c: Changed return type of main() to int.
1472
14732000-09-03  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1474
1475	* Version 2.6.0 released.
1476
1477	* merged a patch from Greg Roelofs fixing PNG read & write
1478	  code for recent versions of the PNG library;
1479	  older readPNG.c and writePNG.c combined into readWritePNG.c
1480
1481	* graphic.c: If the user tries to print a file that has never been
1482	  saved, complain.
1483
1484	* README: Updated maintainer info.
1485
1486	* Imakefile: Changed version number.
1487
1488	* README: Updated URL for libraries.
1489	  Describe use of Print option.
1490
14912000-09-02  Torsten Martinsen  <torsten@image.dk>
1492
1493	* Version 2.5.9 released.
1494
1495	* cutCopyPaste.c, cutCopyPaste.h, graphic.c, operation.c:
1496	  Added Snapshot.
1497
1498	* XPaint.ad.in: Added resources for Snapshot.
1499
1500	* Imakefile: Added snapshot.c.
1501
1502	* README: Changed version number.
1503
1504	* Help.txt: updates to document Snapshot tool.
1505
1506	* Local.config:
1507	  Added FEATURE_FRACTAL and FEATURE_TILT to EXTRA_DEFINES.
1508	  Libraries are now assumed to live in /usr, not /usr/local.
1509
1510	* cutCopyPaste.h: Added Refresh functionality.
1511	  Added Clone functionality.
1512
1513	* ops.h: Added Spline prototypes.
1514
1515	* fileName.c: Added StdCloneRegionFile().
1516
1517	* misc.h: Added StdCloneRegionFile() prototype.
1518
1519	* polyOp.c: Changed MAXP to 200.
1520
1521	* menu.h: Changed MI_SEPERATOR to MI_SEPARATOR.
1522
1523	* operation.c: Changed MI_SEPERATOR to MI_SEPARATOR.
1524	  Added Spline functionality.
1525
1526	* XPaint.ad.in: Changed width & height.
1527	  Added Spline resources.
1528	  Added Clone & Print resources.
1529	  Added Tilt & Refresh resources.
1530
1531	* chroma.c, color.c:
1532	  Define NeedFunctionPrototypes before including Scrollbar.h.
1533
1534	* pattern.c: Fixed spelling.
1535
1536	* cutCopyPaste.c: Fixed spelling error in comment.
1537	  Added Refresh functionality.
1538	  Added Clone functionality.
1539
1540	* graphic.c: MI_SEPERATOR changed to MI_SEPARATOR.
1541	  Added some new menu items.
1542	  Added printCallback().
1543
1544	* README: Updated version.
1545
1546	* Imakefile: Added splineOp.c.
1547
15482000-08-29  Torsten Martinsen  <torsten@image.dk>
1549
1550	* Version 2.5.8 released.
1551
1552	* rw/writeTIFF.c: Bug fix; writing TIFF was broken for depth > 8.
1553
1554Sat Aug  5 17:26:11 2000  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1555
1556	* snapshot.c: new file; introduces a new "Snapshot" operation
1557          (grabbing a window or mouse-selected rectangle from screen)
1558
1559        * splineOp.c: new file. Implements basic spline curve operation.
1560
1561	* Help.txt: update Help file accordingly
1562	  Document 'Spline Curve', 'Clone Region', 'Print', and 'Refresh'.
1563
1564Thu Jul 27 11:46:51 2000  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1565
1566	* graphic.c: Introduced a "Clone region" function
1567	* splineOP.c: created basic spline curve operations
1568	* rw/writeTIFF.c: Bug fix; writing TIFF was broken for depth > 8.
1569
1570Wed Dec  1 17:12:23 1999  J.-P. Demailly  <demailly@fourier.ujf-grenoble.fr>
1571
1572	* operation.c: Reorganized order of icons in main control panel
1573        * graphic.c: Added a "Print" option in the file menu, to the effect
1574          of calling an external printing utility (xv is a good candidate)
1575
1576Sun Jan 31 10:41:18 1999  Torsten Martinsen  <torsten@image.dk>
1577
1578        * Version 2.5.7 released.
1579
1580	* Help.txt, README: Fixed addresses.
1581
1582Tue Dec  8 13:42:29 1998  Torsten Martinsen  <torsten@image.dk>
1583
1584        * Version 2.5.6 released.
1585
1586	* menu.c: Include menu.h as suggested by Ralph Raby <r.raby@ic.ac.uk>.
1587
1588Sat Sep 12 20:44:01 1998  Torsten Martinsen  <torsten@danbbs.dk>
1589
1590	* Imakefile: Version number inc'ed.
1591
1592Fri Aug 21 16:40:47 1998  Torsten Martinsen  <torsten@danbbs.dk>
1593
1594	* Help.txt: Removed "(beta)" from about text.
1595	  Added 1998 to copyright notice.
1596
1597Fri Aug 21 16:30:03 1998  Torsten Martinsen  <torsten@danbbs.dk>
1598
1599	* iprocess.c:
1600	  Added change by James G. Feeney <james@albion.nurealm.net> :
1601
1602		I suggest that a more useful edge extension to use in the
1603		smoothing function would be the original image reflected at
1604		the edges for the edge extensions, and the original image
1605		reflected at the corners for the corner extensions.
1606		This approach still allows "smoothing" with smoothing
1607		distances larger than the original image size (a long but
1608		narrow canvas maybe?), since the extended image would simply
1609		be the reflection and then the re-reflection.
1610		This approach simply assumes that the "smoothing" source-image
1611		is a reflective-tiled version of the original image.
1612		This reflective-tiling approach avoids the artifacts and
1613		subsequent problems mentioned, is easy to visualize, and
1614		produces predictable results. Furthermore, I believe this
1615		approach is appropriate for _all_ the effects generated by
1616		convolution.
1617
1618
1619Sat Jun 27 18:52:36 1998  Torsten Martinsen  <torsten@danbbs.dk>
1620
1621	* Imakefile: Undid change made to support OS/2 that used the
1622	  LibraryTargetName() macro. Now use linker path to achieve the
1623	  same. Suggested by John Breslin <breslin@cadence.com>.
1624
1625Tue Jun  9 21:16:38 1998  Torsten Martinsen  <torsten@danbbs.dk>
1626
1627        * Version 2.5.5 released.
1628
1629	* misc.h: If using glibc, do not define random().
1630
1631	* main.c: The 'visual' patch introduced in 2.5.1 assumed that there
1632	  was never more than 5 arguments on the command line. Fixed. Reported
1633	  by Mirsad Todorovac <mtodorov@grf.hr>.
1634
1635	* Various changes for glibc.
1636
1637Thu May 21 21:17:23 1998  Torsten Martinsen  <torsten@danbbs.dk>
1638
1639	* fillOp.c:
1640	  press(): Free allocated memory as suggested by Richard Hirst
1641	  <richard@sleepie.demon.co.uk>.
1642
1643Sun Apr 26 01:06:38 1998  Torsten Martinsen  <torsten@danbbs.dk>
1644
1645	* texture.c: OS/2 patch from Alexander Mai
1646          <st002279@hrzpub.tu-darmstadt.de>.
1647
1648Thu Apr 16 19:42:01 1998  Torsten Martinsen  <torsten@danbbs.dk>
1649
1650	* Version 2.5.4 released.
1651
1652	* iprocess.c: Patch from Andreas Czechanowski
1653 	  <andreas@inspc44b.ins.uni-stuttgart.de>: 1) The convolution
1654 	  routine for the image filters has been speeded up: The sum of all
1655 	  matrix elements only has to be computed once, not while processing
1656 	  every pixel.  2) Inverting an image crashed, at least on my
1657 	  24bpp-display.
1658
1659	* chroma.c:
1660	  Patch from Andreas Czechanowski
1661            <andreas@inspc44b.ins.uni-stuttgart.de>:
1662	  The "select color range" dialog had been bound to the Canvas from
1663	  where it was opened the first time. When another Canvas was opened
1664	  and the first one was closed, calling "select color range" from
1665	  the new Canvas caused a crash.
1666
1667	* brushOp.c:
1668	  Patch from Andreas Czechanowski
1669            <andreas@inspc44b.ins.uni-stuttgart.de>:
1670	  Transparent brush now ensures to reach the "final" color when
1671	  painting over at one place long enough. There was a roundoff
1672	  problem when converting float to integer.
1673
1674	* INSTALL: Added SCO tip from William Bader <william@nscs.fast.net>.
1675
1676Mon Mar 23 21:39:51 1998  Torsten Martinsen  <torsten@danbbs.dk>
1677
1678	* operation.c, Local.config, misc.h:
1679	  FreeBSD compatibility fixes from Justin M. Seger
1680	  <jseger@freebsd.scds.com>.
1681
1682Tue Feb 24 20:41:08 1998  Torsten Martinsen  <torsten@danbbs.dk>
1683
1684	* fileName.c, misc.h:
1685	  Added CygWin32 portability patches from Arlindo da Silva
1686	  <arlindo@niteroi.gsfc.nasa.gov>.
1687
1688Thu Jan 22 21:03:09 1998  Torsten Martinsen  <torsten@danbbs.dk>
1689
1690	* Version 2.5.3 released.
1691
1692	* Imakefile, Local.config, PaintRegion.c, fileName.c:
1693	  OS/2 portability patches from Alexander Mai
1694	  <st002279@hrzpub.tu-darmstadt.de>.
1695
1696	* xpaint.h, misc.h, fillOp.c: Added SCO portability patches from
1697	  William Bader <william@nscs.fast.net>.
1698
1699Tue Dec 16 20:40:27 1997  Torsten Martinsen  <torsten@danbbs.dk>
1700
1701	* dynPenOp.c: Don't use the HZ macro. Reported by Jim Spath
1702	  <jspath@mail.bcpl.lib.md.us>.
1703
1704	* dynPenOp.c: Initial revision
1705
1706Sat Oct 25 14:27:42 1997  Torsten Martinsen  <torsten@danbbs.dk>
1707
1708        * Version 2.5.2 released.
1709
1710	* brushOp.c: Added patch to make strokes continuous even when the
1711	  mouse is quickly dragged. Contributed by Davor Cubranic
1712	  <cubranic@cs.ubc.ca>.
1713
1714Wed Sep  3 19:31:07 1997  Torsten Martinsen  <torsten@danbbs.dk>
1715
1716	* Help.txt, README, brushOp.c, chroma.c, color.c, colorEdit.c,
1717	  dialog.c, fatBitsEdit.c, fileName.c, graphic.c, main.c, menu.c,
1718	  misc.c, misc.h, pattern.c, text.c, xpaint.h, xpaint.man.in:
1719	  Added Scott Nelson's patch to allow setting the visual from the
1720	  command line.
1721
1722Fri Aug 22 08:14:22 1997
1723
1724	* Version 2.5.1 released.
1725
1726        * main.c: added patch to allow setting the visual from the
1727	  command line (new option -visual)
1728          contributed by Scott D. Nelson  <nelson18@llnl.gov>
1729
1730	* Support for standard X visual syntax.
1731
1732Wed Aug 13 19:45:37 1997  Torsten Martinsen  <torsten@danbbs.dk>
1733
1734        * Version 2.5 released.
1735
1736	* ops.h, operation.c, XPaint.ad.in, Imakefile, Help.txt:
1737	  Added Dynamic pencil tool. Contributed by Tor Lillqvist
1738          <tml@iki.fi>.
1739
1740Mon Aug 11 18:09:32 1997  Torsten Martinsen  <torsten@danbbs.dk>
1741
1742	* README: Added SGI to list of platforms.
1743
1744Mon Jul 14 17:37:11 1997  Torsten Martinsen  <torsten@danbbs.dk>
1745
1746	* selectOp.c: releasePolyBand(): Removed surplus 'mask' argument.
1747
1748Sat Jul 12 17:56:03 1997  Torsten Martinsen  <torsten@danbbs.dk>
1749
1750	* PaintEvent.c, fatBitsEdit.c:
1751	  Fixed bug where hot spot was offset to SE.
1752
1753	* Local.config: Dont' mention DTRUNC_SNAP.
1754
1755Tue Jun 24 20:30:18 1997  Torsten Martinsen  <torsten@danbbs.dk>
1756
1757	* README: Fixed .dk.dk typo (again!).
1758
1759Tue Jun 24 20:20:19 1997  Torsten Martinsen  <torsten@danbbs.dk>
1760
1761	* XPaint.ad.in:	Added new font/colour scheme from Bernd Johannes
1762	  Wuebben <wuebben@math.cornell.edu>.
1763
1764Sat May 31 08:29:23 1997  Torsten Martinsen  <torsten@danbbs.dk>
1765
1766	* Version 2.4.9 released.
1767
1768	* Local.config: Don't hardcode CDEBUGFLAGS.
1769
1770	* Imakefile: Don't distribute PGP* files.
1771
1772	* brushOp.c: Don't crash on images where width or height is less
1773	  than that of the brush.
1774
1775Wed May  7 05:53:50 1997  Torsten Martinsen  <torsten@danbbs.dk>
1776
1777	* cutCopyPaste.c: Applied xword compatibility patch from Seth
1778	  Alves <alve1182@cs.uidaho.edu>.
1779
1780Fri May  2 05:54:04 1997  Torsten Martinsen  <torsten@danbbs.dk>
1781
1782	* Help.txt: Updated range selection text as suggested by Rainer
1783	  Dunker <rainer@dunker.e.ruhr.de>.
1784	  Changed mail address.
1785
1786Wed Feb  5 19:08:45 1997  Torsten Martinsen  <torsten@danbbs.dk>
1787
1788	* brushOp.c: Set numsymbols in XpmAttributes structure.
1789          Reported by Oliver Voigt <voigt@math.tu-berlin.de>.
1790
1791        * Don't crash when using transparent brush or Smear on
1792	  images where width and/or height is less than the dimensions of
1793	  the brush. Reported by Paco Hope <bah6f@cs.virginia.edu>.
1794	  Note that the results of the Smear tool on such images might not
1795	  be what you expect.
1796
1797      	* Local.config: Don't hardcode CDEBUGFLAGS. Reported by Mikhail
1798	  Teterin <mi@aldan.ziplink.net>.
1799	* cutCopyPaste.c: Applied xword compatibility patch from Seth Alves
1800	  <alve1182@cs.uidaho.edu>.
1801
1802Wed Jan 29 18:32:39 1997  Torsten Martinsen  <torsten@danbbs.dk>
1803
1804	* Version 2.4.8 released.
1805
1806	* xpaint.man.in: I have moved to a new ISP. Please use the new
1807          address for all correspondence.
1808
1809Mon Jan 27 06:45:46 1997  Torsten Martinsen  <torsten@danbbs.dk>
1810
1811	* cutCopyPaste.c:
1812	  If FILTERNEEDSSELECTION was defined, we got a SIGSEGV when running
1813	  a filter. Reported by Sylvain Meunier <sns@sns.fr>.
1814
1815Sun Jan 26 20:45:07 1997  Torsten Martinsen  <torsten@danbbs.dk>
1816
1817	* main.c:
1818	  Patch from NIIBE Yutaka <gniibe@mri.co.jp> to handle workProc()
1819	  correctly.
1820
1821Fri Nov  1 09:45:48 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1822
1823        * Version 2.4.7 released.
1824
1825	* Local.config: Added XPM_INCLUDE. xpm.h can now have an arbitrary
1826          location.
1827
1828	* Imakefile: Added XPM_INCLUDE to DEFINES.
1829
1830	* operation.c, main.c, brushOp.c: Removed 'X11' from "X11/xpm.h".
1831
1832Tue Oct 29 08:59:40 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1833
1834	* Imakefile: Added dependencies on '.version'.
1835
1836Tue Oct 29 08:48:44 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1837
1838	* fontSelect.c: Removed arbitrary limits on number of
1839	  fonts that can be displayed in the font browser.
1840          Reported by Sumit Bose <bose@physik.TU-Berlin.DE>.
1841
1842Fri Oct 25 13:20:32 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1843
1844	* fatBitsEdit.c: Fixed FatBits cursor movement bug reported by
1845	  Hideaki Nishimura <nishimu@sdd.siznes.nec.co.jp>.
1846
1847Fri Sep 27 06:17:31 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1848
1849	* graphic.c: Fixed numbering screwup in definition of
1850	  regionMenu[]. Thanks to nishimu@sdd.siznes.nec.co.jp (Hideaki
1851	  Nishimura).
1852
1853Fri Sep  6 07:13:30 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1854
1855	* operation.c:
1856	  Fixed bug with XpmCreatePixmapFromData() call at line 1015
1857          in OperationInit().
1858
1859Thu Aug 29 05:24:30 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1860
1861        * Version 2.4.6 released.
1862
1863	* README.PNG: Added Greg Roelofs' patch of 28Aug1996 (no more debug
1864	  messages).
1865
1866        * Fix for spurious 'out of space' message when saving GIF images.
1867
1868Mon Aug 26 05:40:41 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1869
1870	* operation.c:	OperationInit(): Set Xpm 'closeness' attribute
1871	  when creating toolbox icons. Submitted by Stefan Scharfenberg
1872          <stefan_s@mucsun.sps.mot.com>.
1873
1874Fri Aug 23 06:08:22 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1875
1876	* operation.c:	OperationInit(): Check that sufficient colors are
1877	  available for toolbox icons.
1878
1879Wed Aug  7 07:10:07 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1880
1881	* xpaint.man.in: Documented the 'patternsize' resource.
1882
1883Mon Aug  5 08:10:22 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1884
1885	* Local.config: Added definition of DEPENDFLAGS.
1886	  Added comment on AIX compilation flags.
1887
1888Thu Aug  1 12:59:32 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1889
1890        * Version 2.4.5 released.
1891
1892	* README: Re-included pointer to libgr.
1893	  Encourage clear bug reports.
1894	  Updated WWW page pointer.
1895
1896	* main.c:
1897	  SetIconImage(): Added fix from Matthias Braun: Check that XPM icon
1898	  can be created. Submitted by Matthias Braun <browny@ise.fhg.de>.
1899
1900        * Added AIX compilation hint from Toralf Foerster
1901	  <toralf.foerster@io-warnemuende.de>.
1902
1903	* Remove compiler warning in writePNG.c.
1904
1905	* Check that sufficient colors are available for toolbox icons.
1906
1907	* Man page updated.
1908
1909Wed Jun 19 19:02:29 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1910
1911	* Paint.c:
1912	  InitializeProc(): Always initialize 'undo' to avoid FatBits crashing.
1913
1914Tue Jun 18 10:04:47 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1915
1916        * Version 2.4.4 released.
1917
1918	* rw/readGIF.c: Cleaned up formatting.
1919
1920	* rw/writeGIF.c: Added error checks for each call to fputc().
1921
1922Mon Jun 17 11:35:24 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1923
1924	* main.c: Removed call to XtSetLanguageProc().
1925
1926        * No longer crash when using Polygon and Shape tools in FatBits
1927	  popup. Thanks to jspath@mail.bcpl.lib.md.us (Webmaster Jim) for
1928	  reporting this
1929
1930	* INSTALL: Included other patch from Webmaster Jim.
1931
1932Sun Jun  9 17:31:28 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1933
1934        * Version 2.4.3 released.
1935
1936	* rw/rwTable.c: Cleaned up formatting.
1937
1938        * PNG code: Don't exit() if no memory.
1939
1940Fri Jun  7 05:46:20 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1941
1942        * Version 2.4.2 released.
1943
1944	* README: Upped version #.
1945
1946Thu Jun  6 10:45:55 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1947
1948	* misc.h: Line 22: Include _AIX in #if conditional for portability.
1949          Submitted by Lars-Owe Ivarsson <Lars-Owe.Ivarsson@its.uu.se>
1950
1951        * Fix for non-GCC compilers ({read,write}PNG.c) from Lars-Owe Ivarsson
1952
1953Mon Jun  3 07:08:12 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1954
1955	* README: Added info on where to obtain libraries.
1956
1957	* Local.config: PNG support is enabled by default.
1958
1959	* .version: Initial revision
1960
1961Mon Jun  3 06:15:40 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1962
1963	* Imakefile: Make sure XPaint.ad is made.
1964
1965	* Imakefile: Make sure xpaint.man is made.
1966
1967	* Imakefile: Include .version for setting version number.
1968
1969	* Local.config: BSD: Added path to TIFF_LIB and JPEG_LIB.
1970
1971	* readRC.c: Added prototype for mktemp() for AIX.
1972
1973Sun Jun  2 08:40:10 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1974
1975	* Imakefile: Added README.PNG.
1976
1977	* imageComp.c: Added missing #define for sortABC().
1978
1979	* Imakefile: Help.txt should be Help.txt.in.
1980
1981Fri May 31 06:38:41 1996  Torsten Martinsen  <bullestock@dk-online.dk>
1982
1983        * Version 2.4.1 released.
1984
1985	* brushOp.c: Clear up a lot of Alpha cc warnings.
1986
1987	* Imakefile: Fix include path for stupid Alpha compiler.
1988
1989	* main.c: main(): argc is int, NOT Cardinal.
1990
1991	* image.c: Clear up a lot of Alpha cc warnings.
1992
1993	* fileName.c: Alphas use dirents too.
1994
1995	* size.c: Fix for the infamous 'sigsegv-crash-when-resizing' bug
1996          by Andreas Czechanowski <andreas@INS.uni-stuttgart.de>
1997	  This should take care of the bug.
1998
1999	* selectOp.c:
2000	  Fix: prevents xpaint from terminating with an X-Error "invalid
2001	  size in X_CreatePixmap" when the ellipse-shaped region is selected
2002	  and one clicks the first mouse button on one point.
2003
2004        * Alpha and AIX portability fixes by Robert Patrick
2005	  <Robert_Patrick@methi.ndim.edrc.cmu.edu>
2006
2007	* Small BSD portability fix from Chuck Robey <chuckr@Glue.umd.edu>.
2008
2009        * PNG support should actually work now.
2010
2011Tue May 28 09:23:16 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2012
2013	* XPaint.ad and xpaint.man did not get built automatically; they
2014          do now.
2015
2016	* main.c: Warning about data loss.
2017	  Version number displayed in usage message.
2018
2019	* imageComp.c, image.h: ImageCompress() takes an extra argument.
2020
2021	* Help.txt: Now automatically generated. Fixes zero size problem.
2022
2023	* image.c, color.c: ImageCompress() takes an extra argument.
2024
2025	* Local.config: PNG support added.
2026
2027	* Imakefile: Automatic update of version # in xpaint.man and XPaint.ad.
2028
2029Tue May 28 07:45:08 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2030
2031	* README: Improved text about needed libraries.
2032
2033	* README: Version #.
2034
2035	* xpaint.man.in, XPaint.ad.in: Initial revision
2036
2037	* xpaint.man: Document -nowarn option.
2038
2039	* README: Refer to README.PNG.
2040
2041	* README.PNG: Initial revision
2042
2043	* README: Added URL for XPaint.
2044
2045	* Local.config:
2046	  Added ARCH_DEFINES variable for architecture-specific defines.
2047
2048	* Imakefile: Added ARCH_DEFINES to DEFINES.
2049
2050	* Local.config: Removed space before argument to -L.
2051
2052Fri May 24 07:33:03 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2053
2054        * Version 2.4 released.
2055
2056	* Changes by me:
2057	- minor changes to Imakefile: added VERSION variable.
2058	- protocol.c: Include stdio.h.
2059        - Local.config: Version #. Also added Chuck Robey's BSD fix.
2060        - INSTALL: Added missing font fix from Webmaster Jim.
2061
2062        * Additions by Greg Roelofs <roe2@midway.uchicago.edu>:
2063	- PNG support (mostly complete, except writing of alpha-channel files;
2064	  both interlaced and non-interlaced supported; still has debug msgs)
2065	- added noforce param to ImageCompress() for PNG, TIFF writing of 8-bit
2066	  images even on truecolor display (formerly promoted to 24-bit)
2067	- version number in main title bar and in usage screen (and in PNG
2068          files as part of the "Software" tEXt field)
2069	- XPaint.ad:  fixed default width and height to accommodate new buttons
2070	- added new startup warning and new Help section about data loss;
2071	  warning can be killed with -nowarn option
2072	- minor grammar fixes, corrections to image-format descriptions in Help
2073	- Imakefile:  strip trailing spaces out of Help.txt before further
2074	  processing
2075	- changed "xpm.h" to <X11/xpm.h>:  should always be in .../include/X11
2076
2077Thu May 23 15:48:31 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2078
2079	* main.c: Only call XtSetLanguageProc() if XtSpecificationRelease >= 6.
2080
2081	* Imakefile: Removed XPAINT_TOP definition.
2082
2083	* README: Refer to TODO list.
2084
2085	* Imakefile: Added TODO.
2086
2087Wed May 15 09:26:56 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2088
2089        * Version 2.3.1 released.
2090
2091	* A TODO list is included.
2092
2093	* Yet another BSD portability fix from Chuck Robey
2094          <chuckr@Glue.umd.edu>.
2095
2096	* Suggestion from jspath@mail.bcpl.lib.md.us (Webmaster Jim) for what
2097	  do to if you don't have certain fonts - added to INSTALL.
2098
2099	* New feature: You can now set the size of the solid/pattern squares
2100	  in the palette by setting the 'XPaint.patternsize' resource.
2101	  Requested by Warwick Allison <warwick@cs.uq.edu.au>.
2102
2103	* Error check in protocols.c.
2104
2105	* NetBSD portability fix by jspath@mail.bcpl.lib.md.us (Webmaster Jim).
2106
2107	* Fix for obsolete DEC compiler by envbvs@epb1.lbl.gov (Brian V. Smith)
2108
2109	* XPaint.ad: Cleaned out 'nudge' resources.
2110	  Inc'ed version #.
2111
2112	* xpaint.man: Inc'ed version #.
2113
2114	* graphic.c: Added support for setting of pattern size via resource.
2115
2116	* protocol.c: AddDestroyCallback(): Added error check.
2117
2118Mon May 13 08:17:52 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2119
2120        * Version 2.3 released.
2121
2122	* Solaris portability fixes by Gary Houston <ghouston@isor.vuw.ac.nz>
2123
2124	* BSD portability fixes by Chuck Robey <chuckr@Glue.umd.edu>
2125
2126	* SunOS portability fix by Michael Gordon <M.F.Gordon@ee.ed.ac.uk>
2127
2128	* SGI and HPUX portability fix by Gary Love <love@nrlmry.navy.mil>
2129
2130	* readJPEG.c and writeJPEG.c: Don't use METHODDEF, as suggested by
2131	  Jean-Claude Giese <Jean-Claude.Giese@loria.fr> (apparently the
2132	  definition of METHODDEF has changed in recent versions of the IJG
2133	  JPEG library).
2134
2135	* New feature: If you define ERRORBEEP in Local.config, XPaint will
2136	  beep if you try to make an undo/redo and no more undos/redos are
2137	  possible.
2138
2139	* Bug fix: 'Image/Change Size' no longer clears the canvas.
2140
2141	* Bug fix: the zoomed brush cursor should work better now.
2142
2143	* Paint.c: Fixed warning.
2144
2145	* Imakefile, XPaint.ad: Updated version number.
2146
2147	* README: Updated for 2.3.
2148
2149Sun May 12 08:17:01 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2150
2151	* PaintRegion.c: doCallBacks(): Fix warning.
2152
2153Fri May 10 09:53:06 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2154
2155	* Local.config: Cleaned up CDEBUGFLAGS. Removed -DNEED_STRCASECMP.
2156
2157	* fatBitsEdit.c:
2158	  FatCursorOff(): Now also works correctly for FatBits popup.
2159
2160	* misc.h: Added Gary Love's patch for SGI and HPUX.
2161
2162Thu May  9 11:21:44 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2163
2164	* brushOp.c: FatCursorOff() now takes an argument.
2165
2166	* fatBitsEdit.c: Fixed FatCursor bug.
2167
2168	* misc.h, iprocess.c, main.c, misc.c, sprayOp.c, texture.c, xpaint.h:
2169	  Cleaned up use of RANDOM.
2170
2171Wed May  8 09:52:40 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2172
2173	* Local.config: Added lots of portability fixes.
2174
2175	* iprocess.c: ImageSpread(): Replaced random() with RANDOM.
2176
2177	* misc.h: Added SunOS 4.1 portability fix.
2178
2179	* Paint.c: Fixed the 'Image/Change Size' bug.
2180
2181	* PaintUndo.c: Added ERRORBEEP feature.
2182
2183Tue May  7 11:18:21 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2184
2185	* Local.config, misc.h, xpaint.h:
2186	  Added BSD portability fixes by Chuck Robey <chuckr@Glue.umd.edu>.
2187
2188Fri May  3 16:15:58 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2189
2190	* Local.config, xpaint.h, main.c: Added Solaris patch.
2191
2192Thu May  2 07:45:24 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2193
2194        * Version 2.2.1
2195
2196	* Bug fix: again possible to load/save XPM images
2197
2198	* Zero undo levels works
2199
2200	* Bug fix: changing image size no longer crashes XPaint
2201
2202	* Imakefile: Fixed tar target.
2203
2204	* xpaint.man, XPaint.ad, Imakefile: Updated version number.
2205
2206	* Paint.c: Bugfix: 'Add Pattern' and 'FatBits' no longer crash XPaint
2207
2208Tue Apr 30 15:38:06 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2209
2210	* rw/rwTable.c: Removed obsolete #ifdef HAVE_XPM clause.
2211
2212Tue Apr 30 11:39:12 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2213
2214	* graphic.c:
2215	  undosizeOkCallback(): Changed 'Levels (1-20)' to 'Levels (0-20)'.
2216
2217Tue Apr 30 11:11:32 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2218
2219	* Paint.c:
2220	  SetValuesProc(): Initialize undo system when changing image size.
2221
2222	* PaintUndo.c: Fixed the case where undosize is zero.
2223
2224Tue Apr 30 08:57:31 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2225
2226	* Imakefile: Added xpaint.man to TEXT variable.
2227
2228Mon Apr 29 05:03:50 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2229
2230	* Manual page included
2231
2232	* Imakefile path fix: Local.config no longer contains absolute paths
2233
2234
2235Sat Apr 20 13:02:23 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2236
2237	* Version 2.2 released
2238          (to the largely unsuspecting public...)
2239
2240Fri Apr 19 09:56:38 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2241
2242	* cutCopyPaste.c: Removed testing code.
2243
2244	* README: cert takes no arguments.
2245
2246	* cert: Don't use arguments.
2247
2248	* Imakefile:
2249	  Prevent multiple inclusion of rw/libpnmrw.h and rw/rwTable.h in
2250	  filelist.
2251
2252	* PaintUndo.c: Ready for release.
2253
2254	* PaintP.h: 'valid' renamed to 'pushed'.
2255
2256	* Imakefile, Help.txt: Updated for release.
2257
2258	* Local.config: Cleaned up for release.
2259
2260	* cert: Added blurb about public key.
2261
2262	* Paint.c: Undo fixed.
2263
2264	* help.c: Reformatted.
2265
2266	* fillOp.c: buildFractalPixmap(): Added default clause to switch.
2267
2268	* INSTALL: Refer to Local.config.
2269
2270Thu Apr 18 07:47:19 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2271
2272	* XPaint.ad: Added 'Canvas*menu*edit*redo.label'.
2273
2274Wed Apr 17 19:58:26 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2275
2276	* Paint.c: Make undo stacks circularly linked.
2277	  Keep old canvas pixmap when changing # of undo levels.
2278
2279	* PaintP.h: Removed obsolete members.
2280
2281	* Paint.c: Fixes to code for changing # of undo levels.
2282	  Cleaned up.
2283
2284	* PaintRegion.c: Cleaned up.
2285
2286	* PaintUndo.c: Fixed [Un,Re]doPush() bug.
2287	  Changed 'base' to 'current'.
2288
2289	* graphic.c:
2290	  undosizeCallback(): 'Buffer' changed to 'level' throughout.
2291
2292	* PaintP.h: Support new stack-based undo scheme.
2293	  'base' member renamed to 'current'.
2294
2295	* Paint.c: Support new undo scheme.
2296
2297	* PaintUndo.c: Changed to new stack-based undo algorithm.
2298
2299Tue Apr 16 15:11:53 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2300
2301	* README: Reworked completely.
2302
2303	* Local.config: Cleaned up.
2304
2305	* Imakefile: Added certification support.
2306
2307	* Help.txt: Updated for 2.2.
2308
2309	* cert: Initial revision
2310
2311	* README: Updated for 2.2
2312
2313	* xpaint.man: Initial revision
2314
2315	* XPaint.ad: Added 'Canvas*menu*other*undosize.label'.
2316
2317	* XPaint.ad: Updated version number.
2318
2319	* cutCopyPaste.c: Reformatted.
2320	  Added Redo to canvas popup menu.
2321
2322	* XPaint.ad: Added Canvas*paintBox.popup-menu.redo.label.
2323
2324Wed Apr  3 14:29:15 1996  Torsten Martinsen  <bullestock@dk-online.dk>
2325
2326	* Changed formatting of all source to K&R.
2327
2328Tue Feb 27 12:27:45 1996  Torsten Martinsen
2329
2330	* color.c: ColorPickerUpdateMap(): New function.
2331	  New member 'bg' in LocalInfo so that we only have to look up the
2332	  background pixel value the first time.
2333
2334	* chroma.c: ChromaDialog now uses the palette of the canvas.
2335
2336	* grab.c: Added comments.
2337	  DoGrabImage() returns Image *.
2338
2339Mon Feb 26 22:34:47 1996  Torsten Martinsen
2340
2341	* graphic.c: Added 'Select Color Range' button to the right of
2342	  palette area.
2343
2344	* fillOp.c: Fixed nasty
2345	  'XImage-data-is-signed-so-macro-is-screwed-up' bug.
2346
2347	* color.c: Cleaned up.
2348
2349	* chroma.c: ChromaDialog(): Accept a Palette parameter and use
2350	  that for calling ColorPickerPalette() instead of ColorPicker().
2351
2352	* operation.c: Removed ChromaDialog stuff.
2353
2354	* XPaint.ad: Changed 'XPaint*chroma' to 'Canvas*chroma'.
2355
2356	* Imakefile: Added chroma.c
2357
2358	* chroma.c: Initial revision
2359
2360	* selectOp.c: Split out chroma stuff into chroma.c
2361
2362	* iprocess.c: Cleaned up histogram stuff.
2363	  Added ImageThicken() - #define'd out for now.
2364
2365	* graphic.c: Cleaned up.
2366
2367	* color.c:
2368	  createBarText(): Fixed value for scrollbar resource 'XtNwidth'.
2369
2370	* color.c: createBarText(): Changed incorrect scrollbar resource
2371	  'XtNlength' to 'XtNwidth'.
2372
2373	* Local.config: Removed the #define HaveXPM stuff.
2374
2375	* Help.txt: Added doc for Directional Smooth.
2376	  Rearranged doc for Filter commands.
2377
2378	* operation.c: OperationSelectCallAcross(): Also set the Lasso popup.
2379
2380	* graphic.c: Added Directional Smooth filter.
2381	  Reorganized Filter menu.
2382
2383	* iprocess.c: ImageNormContrast(): Call ImageHistogram().
2384
2385	* cutCopyPaste.c: StdRegionDirFilt(): Added.
2386
2387	* XPaint.ad: Canvas*menu*filter*dirfilt.label: Added.
2388
2389	* iprocess.c: ImageSmooth(): Free convolution matrix.
2390	  ImageDirectionalFilter(): Added.
2391
2392Sun Feb 25 12:53:13 1996  Torsten Martinsen
2393
2394	* INSTALL: Removed USE_DRAND stuff.
2395
2396	* hash.c: Removed unused code.
2397
2398	* fatBitsEdit.c: FatbitsUpdate(): Accept -1 as zoom factor.
2399
2400	* size.c: sureCallback(): Call FatbitsUpdate().
2401
2402	* fatBitsEdit.c:
2403	  FatbitsUpdate(): Only reposition view if the zoomed canvas is larger
2404	  than the viewport.
2405
2406Sat Feb 24 15:51:16 1996  Torsten Martinsen
2407
2408	* fatBitsEdit.c:
2409	  Changing the zoom on the canvas now resizes and repositions the
2410	  fatbits cursor.
2411
2412Fri Feb 23 11:53:28 1996  Torsten Martinsen
2413
2414	* graphic.c: zoomOkCallback(): Call zoomUpdate().
2415
2416	* fatBitsEdit.c:
2417	  Added the zoomUpdate() function to correct FatBits cursor window
2418	  size when changing canvas zoom factor.
2419
2420Fri Feb 23 11:12:42 1996  Torsten Martinsen
2421
2422	* fatBitsEdit.c (zoomUpdate): Added.
2423
2424	* graphic.c (GraphicOpenFile): Made GraphicOpenFile() call
2425	  GraphicOpenFileZoom instead of duplicating code.
2426
2427Thu Feb 15 11:03:50 1996  Torsten Martinsen
2428
2429	* fatBitsEdit.c (FatCursorSet): Free old fatcursor if present.
2430	  (FatCursorSet): Don't insert event handlers here.
2431
2432	* Paint.c (InitializeProc): Init menuwidgets member.
2433
2434Wed Feb 14 15:02:02 1996  Torsten Martinsen
2435
2436	* Paint.c (resources): Added resource for XtNfilename.
2437
2438	* graphic.c: Removed all traces of nudge box code.
2439	  (doRevert): Use work procedure to call XtDestroyWidget().
2440
2441Mon Feb 12 11:45:23 1996  Torsten Martinsen
2442
2443	* brushOp.c (wbrush): Manual clipping implemented.
2444	  (smear): Same.
2445
2446Thu Feb  8 10:33:23 1996  Torsten Martinsen
2447
2448	* graphic.c: Junked EnableRevert() and EnableLast().
2449
2450	* brushOp.c (wbrush): Transparent brush now has soft edge.
2451
2452Wed Feb  7 13:06:34 1996  Torsten Martinsen
2453
2454	* brushOp.c (setCursor): Values in brushbits array are
2455	  proportional to distance from center of brush, normalized to a
2456	  maximum of 100.
2457	  (smear): Mix colours according to values in brushbits array.
2458	  Removed FATCURSOR conditionals.
2459
2460	* selectOp.c (keyPress): Detect cursor keys and move region
2461	  accordingly.
2462
2463	* PaintRegion.c (RegionMove): New function, called from selectOp.c
2464	  to move region using cursor keys.
2465
2466	* selectOp.c (motion): Return if event->state is zero, i.e. no
2467	  buttons pressed.
2468
2469	* cutCopyPaste.c (StdUndoCallback): If the region has not been
2470 	  moved or resized, call PwRegionOff() before doing the actual undo
2471	  and restore the region selection afterwards.
2472
2473	* PaintRegion.c (PwRegionOff): New function, like PwRegionFinish()
2474	  but doesn't write region.
2475
2476	* PaintRegion.c (writeCleanRegion): Added 'write' argument. Only
2477	  call writeRegion() if this is True.
2478
2479Tue Feb  6 12:08:19 1996  Torsten Martinsen
2480
2481	* fillOp.c (similar): Returns 1 if pixel matches start pixel
2482	  within current colour delta.
2483	  (deltafill): Like fill(), except we use similar() instead of ==.
2484	  (press): Added switch to handle calling deltafill() when appropriate.
2485
2486Mon Feb  5 13:32:45 1996  Torsten Martinsen
2487
2488	* operation.c (tfillPopup): Added option for selecting fill colour
2489	  tolerance.
2490
2491	* selectOp.c (finishPolyBand): Added call to PwUpdateDrawable() to
2492	  avoid leaving stray lines behind.
2493
2494Sat Feb  3 11:03:16 1996  Torsten Martinsen
2495
2496	* color.c (update): If default visual is statically allocated,
2497	  don't use XStoreColor().
2498
2499	* Imakefile (MISC): Added XPaintIcon.xpm.
2500
2501	* main.c (workProc): Added 'done' kludge to try to fix problem
2502	  with workProc being called too many times.
2503
2504	* size.c (sureCallback): Set dirty flag.
2505
2506	* misc.c (AutoCrop): Added. Also corresponding menu changes
2507	  in graphic.c.
2508
2509Fri Feb  2 10:21:37 1996  Torsten Martinsen
2510
2511	* PaintRegion.c (PwRegionAddScale): Call PwRegionTear() so that
2512	  flipped region stays on screen.
2513	  (regionGrab): If Shift is pressed, constrain rotation to multiples
2514	  of 15 degrees.
2515	  (regionButtonPress): Store root window coords in lastX/Y.
2516	  (regionGrab): If Shift is pressed, constrain movement to
2517	  horizontal or vertical.
2518
2519	* PaintP.h (PaintPart): Added lastX, lastY members.
2520
2521	* fileName.c (stdSaveCommonCallback): Show busy cursor while saving.
2522
2523Thu Feb  1 11:18:30 1996  Torsten Martinsen
2524
2525	* selectOp.c (finishPolyBand, pressPolyBand, motionPolyBand,
2526	  releasePolyBand, SelectPolyAdd, SelectPolyRemove): Handles
2527	  selecting irregular polygons.
2528
2529	* Help.txt (Fill): Document change mode.
2530
2531	* circleOp.c (draw): Don't draw circles just because 'center' is
2532	  ticked. Also, simplified quite a bit.
2533
2534	* boxOp.c (press): Don't draw squares just because 'center' is ticked.
2535
2536	* operation.c: Only use Xpm icons.
2537
2538Wed Jan 31 21:18:38 1996  Torsten Martinsen
2539
2540	* iprocess.c (ImageQuantize): Completed.
2541
2542Tue Jan 30 00:00:36 1996  Torsten Martinsen
2543
2544	* graphic.c (doContrast): Displays histogram image in text dialog.
2545
2546	* iprocess.c (ImageHistogram): Added ruler to histogram image.
2547
2548	* PaintRegion.c (regionSetGripCursors): Removed second column of
2549	  cursors array, as it was not used.
2550
2551	* iprocess.c (ImageHistogram): Builds histogram for an image, both
2552	  as an array of ints and as an image.
2553	  (ImageNormContrast): Now assumes that ImageHistogram has already
2554	  been called for the image.
2555
2556	* image.c (ImageNewBW): Set image->isBW to True.
2557
2558Mon Jan 29 09:13:12 1996  Torsten Martinsen
2559
2560	* text.c (textPrompt): (Previously TextPrompt) Extra parameter
2561	  'pix' allows displaying a pixmap in the dialog.
2562	  (TextPrompt): Calls textPrompt.
2563	  (TextPromptPixmap): Entry point for displaying pixmap in text
2564	  dialog.
2565
2566	* selectOp.c (SelectChromaDialog): Call ColorPickerSetFunction to
2567	  set up for calling deltaSP() when grabbing colour.
2568	  (deltaSP): Just sets 'pixel' member in DialogInfo structure.
2569
2570	* color.c (ColorPicker): Set l->map so that it works on TrueColor
2571	  visuals.
2572
2573	* main.c (SetIconImage): Removed unused 'flag' parameter.
2574
2575	* xpaint.man: Description of RC file improved a bit.
2576
2577	* readRC.c (ReadDefaultRC): Don't use compiled-in defaults if a
2578	  default file is specified with -rcFile.
2579
2580Fri Jan 26 11:40:26 1996  Torsten Martinsen
2581
2582	* brushOp.c (setCursor): Call FatCursorSet (conditional on FATCURSOR).
2583
2584	* fatBitsEdit.c (AddSegment, CreateFatCursor, FatCursorDraw,
2585	  FatCursorAddZoom, FatCursorRemoveZoom, FatCursorSet): Routines for
2586	  handling outline cursors for FatBits popup completed. Bitmapped
2587	  cursors junked due to server limits on cursor size.
2588	  Conditional on FATCURSOR.
2589
2590	* brushOp.c (motion): Return if event->state is zero, i.e. no
2591	  buttons pressed.
2592
2593Tue Jan 23 01:20:59 1996  Torsten Martinsen
2594
2595	* graphic.c (solarizeOkCallback, doSolarize): Added to enable
2596	  setting threshold parameter.
2597
2598	* fatBitsEdit.c: Numerous changes, all conditional on FATCURSOR define.
2599
2600Mon Jan 22 10:24:42 1996  Torsten Martinsen
2601
2602	* fatBitsEdit.c (FatbitsEdit): Set cursor for fatbits popup from
2603	  parent PaintWidget's fatcursor resource.
2604
2605	* PaintP.h (PaintPart): Added fatcursor member.
2606
2607	* graphic.c (graphicCreate): Use ADDCALLBACK macro to simplify
2608	  code a bit.
2609
2610	* cutCopyPaste.c (ccpAddRegionFlipX through ccpAddRegionBlend):
2611	  Junked, instead call XtAddCallback directly.
2612
2613	* graphic.c (graphicCreate): Items in regionMenu are always
2614	  sensitive whether there is a selection or not.
2615
2616	* cutCopyPaste.c (stdImgProcess): If no selection, use entire
2617	  canvas. (Old behaviour can be reinstated by defining
2618	  FILTERNEEDSSELECTION).
2619
2620	* iprocess.c (ImageSolarize): Added function.
2621	  (ImageQuantize): Added dummy.
2622
2623	* graphic.c (doRevert): Set pointer to busy shape while reverting.
2624	  (doRevert): Set menu snap status correctly.
2625	  (doRevert): Also save background colour.
2626	  (graphicCreate): Get width and height of pixmap *before* using
2627	  them.
2628
2629	* brushOp.c (BrushAdd, BrushRemove, SmearAdd, SmearRemove): Store
2630	  brushPalette and brushGC in LocalInfo structure. This
2631	  automatically handles multiple calls correctly.
2632	  (BrushInit): Create initial brushImage.
2633	  (selectBrush): Free old and create new brushImage.
2634
2635Fri Jan 19 09:07:29 1996  Torsten Martinsen
2636
2637	* graphic.c (rotate): Use rotateAngle instead of snapSpacing as
2638	  default angle of rotation.
2639	  (GraphicOpenFileZoom): Like GraphicOpenFile(), but with 'zoom'
2640	  parameter - passed to graphicCreate(). Also returns the PaintWidget.
2641	  (doRevert): Remember zoom factor of image.
2642
2643	* brushOp.c (setCursor): Compute numpixels member.
2644	  (BrushRemove): Fixed SIGSEGV bug.
2645	  (SmearRemove): Fixed SIGSEGV bug.
2646	  (BrushAdd, BrushRemove): If called more than once, behave
2647	  appropriately.
2648
2649	* PaintEvent.c (opHandleEvent): Made Snap round to closest grid
2650	  line instead of truncating to next lower value. (Made conditional
2651	  on TRUNC_SNAP define).
2652
2653Thu Jan 18 09:46:56 1996  Torsten Martinsen
2654
2655	* cutCopyPaste.c (stdImgProcess): Store current background colour
2656	  in ImgProcessInfo for use by image processing routines.
2657
2658	* selectOp.c (chromaCut): Commented out weird statement that
2659	  dereferences an uninitialized pointer.
2660
2661	* cutCopyPaste.c (StdRegionTilt): Added.
2662
2663	* graphic.c (regionMenu): Added Tilt item.
2664	  (tiltRegionOkCallback): Added.
2665	  (tiltRegion): Added.
2666	  (graphicCreate): Add callbacks for Tilt ietm.
2667
2668Wed Jan 17 10:06:41 1996  Torsten Martinsen
2669
2670	* brushOp.c (smear): Use XGetSubImage instead of XGetImage to
2671	  avoid creating and destroying the XImage each time.
2672	  The image is created by SmearAdd and BrushSelect.
2673	  (wbrush): Use XGetSubImage instead of XGetImage to
2674	  avoid creating and destroying the XImage each time.
2675	  The image is created by BrushAdd and BrushSelect.
2676	  (wbrush): Added limit check to avoid XGetSubImage crashing on us.
2677
2678	* image.c (PixmapToImage): Junked 'htable' variable - never used.
2679
2680
2681Mon Jan 15 09:01:40 1996  Torsten Martinsen
2682
2683	* brushOp.c (BrushSetMode): Added.
2684
2685	* operation.c (brushPopup): Added Opaque/Transparent item.
2686
2687	* brushOp.c (wbrush etc.): Added WBrush code.
2688
2689Fri Jan 12 09:10:53 1996  Torsten Martinsen
2690
2691	* graphic.c (EnableRevert): Added.
2692	  (GraphicOpenFile): Set filename member and call EnableRevert().
2693	  (graphicCreate): Now returns the PaintWidget. Previously, the
2694	  return value was always equal to the 'shell' argument.
2695	  Note: GraphicOpenFile() checks the return value of
2696	  graphicCreate() - this is still not useful.
2697	  (doRevert): Return immediately if the image was not changed since
2698	  last save. Revert actually works now!
2699
2700	* fileName.c (stdSaveCommonCallback): Set filename when save is
2701	  successful.
2702
2703	* PaintP.h: Added filename member to PaintWidget.
2704
2705	* Paint.c (DestroyProc): Free filename storage.
2706	  (InitializeProc): Initialize filename member to NULL.
2707
2708	* Help.txt (filterMenu): Added help for Normalize Contrast filter.
2709
2710	* graphic.c (RG_CONTRAST_ITEM): Added to menu.
2711
2712	* iprocess.c (ImageNormContrast): Added. Histogram equalizes
2713	  contrast of an image.
2714
2715	* cutCopyPaste.c (StdRegionContrast): Added.
2716
2717	* xpaint.man: Formatting of options made consistent with most
2718	  other X man pages. Explanation of RC file syntax improved.
2719
2720Thu Jan 11 12:45:40 1996  Torsten Martinsen
2721
2722	* xpaint.man: Added documentation on RC file format.
2723	  Added doc on -rcFile -popped, and -help options.
2724	  Also slight formatting changes.
2725
2726	* readRC.c (readRC): Fixed bug where brushes in the RC file was
2727	  treated as patterns.
2728
2729	* Imakefile: Added dependencies for all object files.
2730
2731	* iprocess.c (ImageAddNoise): Changed to use Gaussian noise.
2732
2733	* sprayOp.c (draw): Use gauss() in misc.c. Static function gauss()
2734	  removed.
2735
2736	* misc.c (gauss): Function to produce a random normal variable.
2737
2738Wed Jan 10 11:43:14 1996  Torsten Martinsen
2739
2740	* Major prototype overhaul and cleanup.
2741
2742	* operation.c (struct IconListItem): Removed 'callback' member, as
2743	  it is never used.
2744
2745	* iprocess.c (ImageSmooth): Uses N x N matrix.
2746
2747	* graphic.c (doSmooth): Added query for mask size.
2748
2749	* iprocess.c: Use ImgProcessInfo structure for parameters.
2750
2751	* graphic.c (oilPaintOkCallback, ..., doDespeckle): Use
2752	  ImgProcessInfo structure for parameters.
2753
2754	* iprocess.c (convolve): Changed to allow N x N matrices. Calls
2755	  to convolve() changed accordingly.
2756
2757	* fillOp.c (buildGradientPixmap): Bugfix for Linear fill.
2758
2759Tue Jan  9 10:41:16 1996  Torsten Martinsen
2760
2761	* fillOp.c (buildTexturePixmap): Added Linear gradient fill.
2762	  (buildTexturePixmap): Added Conical gradient fill.
2763
2764	* Help.txt: Added help for gradient fill.
2765
2766Mon Jan  8 10:00:00 1996  Torsten Martinsen
2767
2768	* operation.c (tfillMenuCallback): Allows setting H/V offset and
2769	  Pad for Radial Fill.
2770
2771	* fillOp.c (TfillSetParameters): Added. See preceding entry.
2772
2773	* operation.c: 	Texture Fill operator added.
2774
2775	* fillOp.c (press): Extra code to handle texture fill.
2776	  (buildTexturePixmap): This function builds a Pixmap containing the
2777	  desired texture.
2778	  (TFillAdd, TFillRemove, TFillSetMode, TFillGetMode): Implements
2779	  Texture Fill operator.
2780
2781	* Local.config (UseLargeIcons): Added this define to control
2782	  search path for icon files.
2783
2784	* Moved old icons to ./bitmaps/old.
2785
2786Fri Jan  5 20:22:15 1996  Torsten Martinsen
2787
2788	* iprocess.c (ImageSpread): Removed 'iterations' parameter.
2789
2790	* graphic.c (doSpread): Removed 'iterations' parameter, now that
2791	  we have Repeat Last.
2792
2793	* cutCopyPaste.c (stdImgProcess): Unified this with inplaceImgProcess.
2794	  (stdLastImgProcess): Added function.
2795
2796	* Help.txt: Added doc for Repeat Last.
2797
2798	* graphic.c (RG_LAST_ITEM): Added 'Filter/Repeat Last' menu item.
2799	  (doLast): Added function.
2800
2801	* iprocess.c (ImageDespeckle): Added function.
2802
2803	* Help.txt: Added Filter menu (oops). Added doc for Despeckle filter.
2804
2805	* graphic.c (RG_DESPECKLE_ITEM): Added 'Filter/Despeckle' menu item.
2806
2807	* rw/writeJPEG.c (WriteJPEG): Writing of greyscale JPEG files works now.
2808
2809	* rw/readJPEG.c (ReadJPEG): Loading of greyscale JPEG files works now.
2810
2811	* brushOp.c (press): Got SIGSEGV when using Brush tool before
2812	  Smear tool had been used. Fixed.
2813
2814Wed Jan  3 21:42:45 1996  Torsten Martinsen
2815
2816	* rw/readJPEG.c (ReadJPEG): Prepare for handling of greyscale files.
2817
2818	* rw/writeJPEG.c: Created file.
2819
2820	* rw/rwTable.c (RWtable): Added entry for WriteJPEG().
2821
2822Wed Dec 27 12:07:34 1995  Torsten Martinsen
2823
2824	* brushOp.c (struct BrushItem): Added 'brushbits' member to store
2825	  fast-access mask for Smear operation.
2826	  (setCursor): Initialize 'brushbits' member.
2827	  This fixes the 'uses-wrong-brush-mask' bug.
2828
2829Tue Dec 26 22:06:54 1995  Torsten Martinsen
2830
2831	* hash.c (HashAll): Out-#ifdef'd unused functions.
2832
2833	* palette.c (addColor): Now this works like I think it should.
2834
2835	* brushOp.c (smear): Fixed palette allocation bug. This operation
2836	  actually works now!
2837
2838	* palette.c (allocN): Removed 'flags' parameter, as it is never used.
2839	  (allocN): Removed 'ncolor' parameter, as it is always 1.
2840	  (PaletteAlloc): Changed allocN() call.
2841
2842Mon Dec 18 09:30:40 1995  Torsten Martinsen
2843
2844	* New 40 x 40 versions of all icons. [f]blobOp bitmap files renamed
2845	  to [f]freehandOp for better consistency.
2846
2847	* brushOp.c (SmearAdd, SmearRemove): Added functions.
2848	  (draw): Added 'if' clause to handle Smear tool.
2849	  Added 'isSmear' member to LocalInfo struct.
2850
2851	* bitmaps/brushOp.xpm: New 40x40 icon.
2852
2853	* Imakefile: Made operation.o depend on bitmaps.
2854
2855Sat Dec 16 17:38:49 1995  Torsten Martinsen
2856
2857	* graphic.c (doSpread): Interface to Spread changed to allow
2858	  selecting # of iterations.
2859
2860	* iprocess.c (ImageSpread): Changed to perform several iterations.
2861
2862	* XPaint.ad, graphic.c: Split Region menu up into Region and
2863	  Filter menus.	All image processing functions are now in the
2864	  Filter menu, while the Region menu is reserved for Rotate, Crop,
2865	  Nudge, and Reset.
2866
2867	* Help.txt (smear): Added brief help text for Smear tool.
2868
2869	* bitmaps/smearOp.xpm: Added corny icon for Smear tool.
2870
2871	* selectOp.c (SelectChromaDialog): Don't SIGSEGV when selecting
2872	  'Select Range...' in Select tool popup.
2873
2874	* graphic.c (doRevert): Set size of image to correct values.
2875	  Still doesn't work, though.
2876
2877Fri Dec 15 13:05:35 1995  Torsten Martinsen
2878
2879	* image.h (ImagePixel): Fixed nasty missing-parentheses-around-args
2880	  bug in this macro.
2881
2882	* graphic.c (doRevert): Added call to PwRegionFinish() to make
2883	  sure the region is not active after reverting.
2884
2885	* cutCopyPaste.c (inplaceImgProcess): Added this function to
2886	  enable ImageSpread to be implemented more efficiently.
2887
2888	* iprocess.c (ImagePixelize): Wrote function.
2889	  (ImageSpread): Wrote function.
2890
2891Wed Dec 13 00:01:52 1995  Torsten Martinsen
2892
2893	* graphic.c: Added skeleton functions for Blend, Spread, and
2894	  Pixelize items.
2895	  (oilPaintOkCallback): Added sanity check for mask size.
2896	  (addNoiseOkCallback): Added sanity check for noise variance.
2897
2898	* Help.txt: Added missing doc on Oil Paint effect.
2899	  Added doc on Blend, Spread, and Pixelize items.
2900
2901	* graphic.c (regionMenu): Added Blend, Spread, and Pixelize items.
2902
2903Tue Dec 12 13:01:05 1995  Torsten Martinsen
2904
2905	* graphic.c (oilPaint): Added query for mask size.
2906
2907	* iprocess.c (ImageOilPaint): Added variable mask size.
2908
2909	* graphic.c (cropToRegion): Added function.
2910
2911	* PaintRegion.c (RegionCropToRegion): Added function.
2912
2913Fri Dec  8 09:22:38 1995  Torsten Martinsen
2914
2915	* Imakefile: Created RWSRC etc. variables.
2916
2917	* rw/readJPEG.c: Support for reading JPEG with IJG release 6 works.
2918	  Still needs improved error reporting.
2919
2920Wed Dec  6 14:03:09 1995  Torsten Martinsen
2921
2922	* Cleaned up various prototypes and removed unused variables.
2923
2924	* 'Add Noise' function is completed for now. Later add gaussian option.
2925
2926Sun Dec  3 01:34:44 1995  Torsten Martinsen
2927
2928	* random.c: Added file with RNG code from Phoenix.
2929
2930	* cutCopyPaste.c (ccpAddRegionAddNoise): Added function.
2931	  (StdRegionAddNoise): Added function.
2932
2933	* iprocess.c (ImageAddNoise): Added function.
2934
2935	* graphic.c: Revert function completed. Does not work if the size
2936	  of the image has been changed.
2937
2938Sat Dec  2 18:59:25 1995  Torsten Martinsen
2939
2940	* Indented all files.
2941
2942	* graphic.c (doRevert): Started adding 'Revert...' item in canvas menu.
2943
2944
2945------------------------------------------------------------------------------
2946
2947Changes from XPaint 2.1.1 to XPaint 2.2
2948by Torsten Martinsen
2949April 1996
2950
29511.  New features:
2952
29531.1 Changed image processing functions (filters):
2954	Filter commands uses whole canvas if no selection (#define
2955	FILTERNEEDSSELECTION if you want the old behaviour)
2956	'Smooth' filter now has variable mask size
2957	'Oil Paint' filter now has variable mask size
2958
29591.2 New image processing functions (filters):
2960	'Add Noise'
2961	'Blend'
2962	'Despeckle'
2963	'Directional Smooth'
2964	'Normalize Contrast'
2965	'Pixelize'
2966	'Quantize Colors'
2967	'Solarize'
2968	'Spread'
2969	'Repeat Last Filter' operation
2970
29711.3 Changed operators:
2972	Multiple undo and redo.
2973	Fill operator takes color tolerance into account.
2974	Draw centered boxes and ellipses that are not square.
2975	Improved performance of Gaussian Spray.
2976	Brush tool has 'Transparent' option which uses a soft-edged
2977	brush (only works well on TrueColor visuals).
2978	Brush cursor is the correct size when zooming.
2979	Brush cursor in FatBits popup is the correct size.
2980	Snap rounds instead of truncating (#define TRUNC_SNAP if you want the
2981	old behaviour).
2982
29831.4 Changed region functions:
2984	Holding Shift down while moving a region constrains movement to
2985	horizontal or vertical.
2986	Holding Shift down while rotating a region constrains rotation to
2987	multiples of 15 degrees.
2988
29891.5 New region functions:
2990	'Crop to Region' tool.
2991	Cursor keys can be used to move region in 1 pixel steps.
2992	Undo undoes region selection.
2993
29941.6 New operators:
2995	Select circle-shaped area.
2996	Select polygon-shaped area.
2997	Gradient fill (Conical, Square, Radial, Linear).
2998	'Smear' tool.
2999
30001.7 Miscellaneous new functions:
3001	AutoCrop function - removes borders from an image.
3002	'Revert' function.
3003	Writing of JPEG files.
3004
30051.8 Interface changes:
3006
3007	The 'Select Range' dialog now uses the color map of the current canvas.
3008	Therefore, it is no longer found in the toolbox, but in the palette
3009	area (the 'Select Color Range' button).
3010	New 40 x 40 icons. If you create a better set of icons, please let me
3011	know.
3012	'Region' menu split into 'Region' and 'Filter' menus, the latter for
3013	image processing functions.
3014	Busy cursor while saving.
3015
30162  Fixed bugs:
3017
3018	Changing the image size no longer does funny things
3019	to the fatbits cursor.
3020	Changing the zoom on the canvas now resizes and
3021	repositions the fatbits cursor.
3022	FatBits cursor window changes size when changing zoom of canvas.
3023	Problem with flipping region fixed.
3024	In color picker, Enter now works in delta textwidgets.
3025
30263  Source code changes:
3027
3028	Xpm and TIFF libraries no longer included in distribution.
3029	Massive reformatting of all source files.
3030	A couple of new source files.
3031	Some unused code removed.
3032	Toolbox uses Xpm icons exclusively.
3033
3034------------------------------------------------------------------------------
3035
3036Changes from 2.1.0 to 2.1.1
3037by David Koblas
3038December 1994
3039
3040        Edit/Remove popup in Canvas palette area
3041        Cut copy inter X app bug fixes
3042        Able to load palettes
3043        Fill now has a "change" choice which exhanges the selected
3044                color with a new color
3045        Added '-rcFile' commandline option to specify RC file
3046        Optimizations for 8 deep bit screens
3047        Added '-popped' to bring up an empty canvas on startup
3048        Fixed GIF writing bug
3049	Added Oil Paint image processing function
3050
3051------------------------------------------------------------------------------
3052
3053XPaint 2.1 Release Notes
3054July 1993
3055
3056Welcome to the release of XPaint 2.1!  So, what does XPaint do for
3057you?  Why many wonderful things of course.  XPaint is a reasonably
3058versatile bitmap/pixmap editing tool.  XPaint came out of a problem
3059editing some very large bitmaps, and wanting more functionality then
3060was provided by bitmap. After XPaint 1.0 sat around for a LONG time,
3061I finally ended up with a strong need to edit color pixmaps.  Presto,
3062this is what has appeared from that problem.
3063
3064The short features list:
3065	Usual paint operations:
3066		Brushes, Spray paint, Pencil
3067		Lines, Arcs, Pattern Fill, Text,
3068		Boxes, Circles, Polygons.
3069	Works on multiple images simultaneously.
3070	Cut/Copy/Paste between all active images.
3071	Fatbits/Zoom on the image windows.
3072
3073XPaint is slightly biased towards a MacPaint-like operation set, since
3074this is the only paint program that I have ever used for more than 30
3075seconds, but not to let this discourage you, it does quite a bit more.
3076If you find some functionality missing and feel like adding it, there
3077is a rough description of how the operations interface works, and I'd
3078be more that willing to help you.
3079
3080The following file formats are supported:
3081	X11 Bitmaps	reading	writing
3082	PPM Format	reading writing
3083	GIF Format	reading writing
3084	PostScript		writing
3085	XPM Format	reading writing
3086	TIFF Format	reading writing (condinally compiled in)
3087	SGI RGB Format	reading writing (only on SGI machines)
3088If you have an image that is not in one of the supported formats I'd
3089reccomend you take a look at the PBMPLUS toolkit (which is availbe
3090for ftp from export.lcs.mit.edu, and other fine sites).
3091
3092XPaint is written using ANSI C (for the most part), and thus you need
3093to have a compiler that understands function prototypes.  On most MIPS
3094based machines this is the standard compiler, on a Sun SparcStation you
3095will either need to use 'gcc' or 'acc' (from Sun).  If you have some
3096other brand of workstation, try using 'gcc' if your compiler doesn't
3097work.
3098
3099Hope you find this useful,
3100David Koblas
3101koblas@netcom.com
3102