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