]> git.saurik.com Git - wxWidgets.git/blob - src/xpm/changes
Fixed bug that wrote incomplete wxExpr files (missing fclose)
[wxWidgets.git] / src / xpm / changes
1 /*
2 * Copyright (C) 1989-94 GROUPE BULL
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to
6 * deal in the Software without restriction, including without limitation the
7 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8 * sell copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 *
21 * Except as contained in this notice, the name of GROUPE BULL shall not be
22 * used in advertising or otherwise to promote the sale, use or other dealings
23 * in this Software without prior written authorization from GROUPE BULL.
24 */
25
26 /**************************************************************************\
27 * *
28 * HISTORY of user-visible changes *
29 * *
30 \**************************************************************************/
31
32 3.4b (94/05/24)
33
34 ENHANCEMENTS:
35 - XPM can now be built under MS Windows. Yes, this is possible and this
36 entirely comes from:
37 - Hermann Dunkel <hedu@cul-ipn.uni-kiel.de>
38 See the README.MSW file for details.
39
40 - building the shared library now depends on the SharedLibXpm variable
41 and no longer on the SharedLibX variable which is private to the X
42 Window System project.
43 - patch from Stephen Gildea <gildea@x.org>
44 Other variables can now be set for the various locations needed.
45
46 - lib/parse.c does no longer use a 256x256 array in the stack but
47 malloc it instead.
48
49 - The Copyright notice which has been re-written from the X11R6's one
50 should be clearer and is now present in every file.
51
52 BUGS CORRECTED:
53 - lib/xpmP.h does no longer define a Boolean type which conflicts with
54 the Intrinsic definition. Instead the type Bool defined in Xlib is
55 used.
56 - neumann@watson.ibm.com (Gustaf Neumann)
57
58 3.4a (94/03/29)
59
60 BUGS CORRECTED:
61 - passing NULL as shapemask_return to XpmReadFileToPixmap and similar
62 functions was leading to a bus error.
63 - Dean Luick <dean@falcon.natinst.com>
64
65 3.4 (94/03/14)
66
67 IMPORTANT NOTE:
68 This version is not compatible with 3.3. Fortunately most people should
69 only need to recompile.
70 I apology for this but CDE/Motif have put heavy pressure to go that
71 way. The point is that I designed and released Xpm 3.3 in order to let
72 OSF include a clean version of Xpm in Motif 2.0. This new version was
73 not fully compatible with 3.2 but I thought it didn't matter since this
74 was going to be the first version used within Motif. Unfortunately CDE
75 was already using xpm-3.2 internally and requires both source and
76 binary backward compatibility. By the way I must say they didn't drop
77 us a single line to let us know they were using it and thus were
78 expecting stability. All this could have been avoided...
79
80 However, since I had to go for a not compatible version I took this as
81 an opportunity to modify the lower level API, which was new in 3.3 and
82 which was somewhat clumsy, in order to provide yet a better API.
83
84 The library has been modified to have both source and binary backward
85 compatibility with xpm-3.2. This implies it is not either source or
86 binary compatible with 3.3. The fields related to the 3.2 XpmInfos
87 mechanism have been put back into the XpmAttributes structure. The new
88 3.3 XpmInfos struct has been renamed as XpmInfo to avoid conflict with
89 the old 3.2 flag which is back too. All the semantic related to the
90 XpmAttributes infos fields is back as well.
91
92 So this new version provides a high level API which is fully
93 compatible with 3.2 and still provides the 3.3 lower level API
94 (XpmImage) with the XpmInfos struct renamed as XpmInfo. This leads to
95 some redundancy but this was the best I could do to satisfy both
96 CDE/Motif people who needed the backward compatibility and myself (who
97 always tries to provide you with the best ;-).
98
99 Tests have been successfully performed with pixmap-2.1, pixmap-2.4, and
100 sxpm.
101
102 ENHANCEMENTS:
103 - The colorTable member of the XpmAttributes structure is now an
104 (XpmColor*) in order to be compatible with an XpmImage colorTable.
105 However in order to be backward compatible this field is cast to
106 (XpmColor **), which is equivalent to (char ***), when it is used
107 with the old flags XpmInfos and XpmReturnInfos. To handle the new
108 type the new flags XpmColorTable and XpmReturnColorTable have been
109 defined.
110 - The XpmInfo struct has been extended to avoid having to deal with an
111 XpmAttributes at the lower level. The idea is that all the data
112 stored in an Xpm file can be retreive through both an XpmImage and
113 an XpmInfo struct. See the documentation for details.
114 - XpmUndefPixel is defined and exported by xpm.h in order to let
115 clients providing their own colorTable when writting out an Xpm file.
116 See the documentation for details.
117 - in sxpm/sxpm.c, set attribute XtNinput to True on toplevel widget.
118 Windows that don't "take" input, never get focus, as mandated by
119 the ICCM.
120 patch from Henrique Martins <martins@hplhasm.hpl.hp.com>
121 - lib/Imakefile modified to build the shared library under IRIX 5.
122 patch from simon@lia.di.epfl.ch (Simon Leinen)
123
124 NEW FEATURES:
125 - a new funtion and a new define should help client figuring out with
126 which Xpm library version they are working. These are
127 XpmIncludeVersion and XpmLibraryVersion().
128
129 3.3 (93/12/20)
130
131 NEW FEATURES:
132 - XPM1 files are now supported.
133 - a new function is provided to get an error string related to the
134 returned error code.
135 - suggested by Detlef Schmier <detlef@mfr.dec.com>
136
137 ENHANCEMENTS:
138 - gzip and gunzip are called with the -q option (quiet)
139 - patch from Chris P. Ross <cross@eng.umd.edu>
140 - the parser is again more flexible about the way the strings are
141 distributed on lines. Actually a single line XPM file can be read.
142 - the documentation should be clearer about shapemask generation and
143 XpmAttributes valuemask.
144
145 BUGS CORRECTED:
146 - reading some binary file was leading to a bus error.
147 - patch from Detlef Schmier <detlef@mfr.dec.com>
148 - the ? character is no longer used when writting an XPM file in order
149 to avoid possible ANSI trigraphs.
150
151 3.3alpha (93/08/13)
152
153 NEW FEATURES:
154 - a new level interface is provided to allow applications to do either
155 icon editing or data caching.
156 The XpmAttributes has been changed but most applications will just
157 need to be recompiled.
158 - new structures are provided to deal with the new lower level:
159 XpmImage, XpmColor, XpmInfos.
160
161 - a separate distribution called xpm-contrib is available. This
162 includes the converters which used to be part of this distribution
163 plus:
164 two new appplications:
165 * nexpm to draw a pixmap in *any* existing window from
166 Ralph Betza <gnohmon@ssiny.com>
167 * xpmview to display a list of Xpm files from
168 Jean Michel Leon <leon@sophia.inria.fr>
169
170 a hacky string to pixmap converter, provided by
171 Robert H. Forsman Jr. <thoth@manatee.cis.ufl.edu>
172
173 The Xpm editor called pixmap will also be part of this contrib.
174 This does not mean it is the best pixmap editor one can find
175 but it is the only one that I know of which tries to handle
176 all the features of this format.
177
178 ENHANCEMENTS:
179 - the code to build XImage data has been optimized by
180 jules@x.co.uk (Julian Gosnell)
181 the old code is still available when compiling with the
182 -DWITHOUT_SPEEDUPS flag.
183
184 - closecolor code was not re-entrant
185 - dbl@visual.com (David B. Lewis)
186 - fix gzip filename (*.gz and no longer *.z).
187 - Jason Patterson <jasonp@fitmail.fit.qut.edu.au>
188 - sxpm has 2 new options:
189 -nom to do not display the mask if there is one
190 -cp <color> <pixel> to override a color value with a given
191 pixel, i.e. sxpm plaid.xpm -cp red 4
192
193 also the '-s' adn '-p' options have been renamed to '-sc' and '-sp'.
194
195 - xpm.h defines XpmFormat, XpmVersion, and XpmRevision numbers.
196
197 BUGS CORRECTED:
198 - closecolor minor fix
199 - Jason Patterson <jasonp@fitmail.fit.qut.edu.au>
200
201 3.2g (93/04/26)
202
203 ENHANCEMENTS:
204 - much faster close colors
205 - piping from/to compressed files now handles GNU's gzip (.z) format
206 - added XpmColorKey attribute - ability to specify which visual's
207 colors to use (ie: now it's possible to read in a pixmap in a
208 color visual, but use the colors specified for monochrome).
209 - added -mono, -grey4, -grey and -color options to sxpm to demonstrate
210 the XpmColorKey attribute.
211 - Jason Patterson <jasonp@fitmail.qut.edu.au>
212
213 BUGS CORRECTED:
214 - fixed bug where redefining "None" as a pixel stopped mask generation
215 - minor SVR4 defines for <string.h>
216 - fixed annoying closecolor bug related to read/write color cells
217 - fixed minor bug in color value -> pixel overloading
218 - manual updated to include new red/green/blue closeness attributes
219 - Jason Patterson <jasonp@fitmail.qut.edu.au>
220
221 - the top Imakefile was missing the depend target
222 - sxpm/Imakefile fixed so that -L../lib is set before the standard
223 library location.
224 - Vivek Khera <khera@cs.duke.edu>
225
226 - lib/xpmP.h now defines bcopy as memcpy for VMS (required by recent
227 versions of VMS)
228 - J. Daniel Smith <dsmith@ann-arbor.applicon.slb.com>
229
230 - the lib/Imakefile didn't work with X11R4.
231
232
233 3.2f (93/03/17)
234
235 NEW FEATURES:
236 - the library provides four new functions to deal with Xpm files
237 loaded in memory as single character strings buffers:
238
239 XpmCreateImageFromBuffer
240 XpmCreatePixmapFromBuffer
241 XpmCreateBufferFromImage
242 XpmCreateBufferFromPixmap
243
244 - in addition, as a convenience, two functions are provided to copy a
245 file in a buffer and to write a file from a buffer:
246
247 XpmReadFileToBuffer
248 XpmWriteFileFromBuffer
249
250 ENHANCEMENTS:
251 - Files are now dispatched in the following sub-directories:
252 lib, sxpm, and doc.
253 - Imakefiles will let you build a shared library as well as the static
254 one (with either X11R4 or X11R5).
255 - The documentation has been ported from LaTeX to FrameMaker and is
256 now included in the distribution in its PostScript form (doc/xpm.ps).
257 Source files are available on request.
258 Also the documentation has been reoreganized and includes a table of
259 contents and an index of the functions (the number of functions
260 increasing this became a requisite).
261
262 BUGS CORRECTED:
263 - Many warnings have been fixed - patch from Daniel Dardailler
264 daniel@osf.org
265
266 3.2e (93/02/05)
267
268 ENHANCEMENTS:
269 - use XpmMalloc, XpmRealloc, XpmCalloc, and XpmFree which are defines
270 in xpmP.h. This should help people wanting to use their own functions.
271
272 BUGS CORRECTED:
273 - Intrinsic.h is no longer included.
274 - bzero is defined as memset on SYSV and SVR4.
275 - some memory initialisation bug concerning XpmAttributes.
276
277 3.2d (93/01/27)
278
279 ENHANCEMENTS:
280 - compile on Solaris 2.0
281 - patch from Clint Jeffery <cjeffery@cs.arizona.edu>
282
283 BUGS CORRECTED:
284 - shape masks are now set correctly for LSBFirst (Decs).
285 - pixmaps are now set correctly for 2 bit displays (Nexts).
286 - patch from Josef Leherbauer <joe@takeFive.co.at>
287 - isspace was called on getc which fails when EOF is returned.
288 - Marelli Paolo <marelli@colos3.usr.dsi.unimi.it>
289
290 3.2c (92/12/29)
291
292 ENHANCEMENTS:
293 - parsing optimized for single and double characters color
294 - patch originally from Martin Brunecky
295 marbru@build1.auto-trol.com
296
297 BUGS CORRECTED:
298 - XpmFreeExtensions was calling free on some argument without checking
299 it was not NULL.
300 - strdup was not correctly defined for systems which do not provide
301 it. - Hans-Peter Lichtin <lich@zellweger.ch>
302 - some bug in XpmCrDataFI.c
303 - Sven Delmas garfield@avalanche.cs.tu-berlin.de
304
305 NOTE:
306 - there is still a bug with the creation of the clipmask on display of
307 depth 2 but I can't find a fix because unfortunately I don't have such
308 a rendering system and nobody gets the time to investigate for me.
309
310 3.2b (92/10/19)
311
312 ENHANCEMENTS:
313 - Create XpmReadFileToData and XpmWriteFileFromData
314 - Dan Greening <dgreen@sti.com>
315 - added "close colors" support and ability to redefine color values
316 as pixels at load time, as well as color names
317 - Jason Patterson <jasonp@fitmail.qut.edu.au>
318 - errors while parsing or allocating colors now revert to other
319 visual defaults, creating pixmap/image as expected, and returning
320 XpmSuccess. The old behaviour of XpmColorError being returned and no
321 pixmap/image being created can be retained by setting the
322 exactColors attribute.
323 - Jason Patterson <jasonp@fitmail.qut.edu.au>
324
325 BUGS CORRECTED:
326 - SVR4 defines for including <string.h> instead of <strings.h>
327 - Jason Patterson <jasonp@fitmail.qut.edu.au>
328 - attributes->extensions and attributes->nextensions fields were not
329 set correctly when no extensions present in file.
330 - Simon_Scott Cornish <cornish@ecr.mu.oz.au>
331
332 3.2a (92/08/17)
333
334 ENHANCEMENTS:
335 - use the mock lisp hashing function instead of the gnu emacs one,
336 it is faster in some cases and never slower (I've not found any case).
337
338 BUGS CORRECTED:
339 - function prototypes for ansi compilers.
340 - some memory initialization bugs (purify is just great for this).
341 - empty strings in extensions are now correctly handled.
342
343 3.2 (92/07/06)
344
345 NEW FEATURES:
346 - both format and functions handle extensions data. This allow people
347 to store additional data related to a pixmap. See documentation for
348 detail.
349 - sxpm supports the new option '-c' to use a private colormap. This is
350 useful when displaying pixmaps using a lot of colors.
351 - sxpm supports the new option '-v' (verbose) to get possible
352 extensions print out on standard error.
353
354 ENHANCEMENTS:
355 - most of the code has been reworked to be improved and thus almost
356 every function is faster. It takes less than 6 seconds of real time on
357 a sun4 to display, with sxpm, a 487x635 pixmap using 213 colors, while
358 it takes 32 seconds with the old library! It takes 18 seconds to
359 display a 1279x1023 screen dump using 14 colors while xwud takes 10
360 seconds.
361 Of course performance improvements are not always that great, they
362 depend on the size and number of colors but I'm sure everybody will
363 appreciate ;-)
364 I know how to improve it more but this will require changes in the
365 architecture so this is not for now. Some optimizations have been
366 contributed by gregor@kafka.saic.com (gregg hanna) and
367 jnc@csl.biosci.arizona.edu (John N. Calley).
368 - the Imakefile is modified to let you install sxpm - Rainer Klute
369 <klute@irb.informatik.uni-dortmund.de>
370 - xpmP.h declares popen for Sequent platforms - Clinton Jeffery
371 <cjeffery@cs.arizona.edu>
372 - XpmWriteFileFromImage/Pixmap rather than truncating the pixmap name
373 to the first dot changes dots to underscores to get a valid C syntax
374 name.
375
376
377 BUGS CORRECTED:
378 - there was a bug in the image creation function for some 24 bits
379 displays. It is fixed.
380 - allocated color pixels are now freed when an error occurs -
381 nusser@dec1.wu-wien.ac.at (Stefan Nusser)
382
383 CHANGES TO THE DOC:
384 - the documentation describes the new XpmExtension structure and how
385 to use it with read and write functions.
386
387 3.1 (92/02/03)
388
389 ENHANCEMENTS:
390 - sxpm now have more standard options (mainly suggested by
391 Rainer Sinkwitz <sinkwitz@ifi.unizh.ch>):
392
393 Usage: sxpm [options...]
394 Where options are:
395
396 [-d host:display] Display to connect to.
397 [-g geom] Geometry of window.
398 [-hints] Set ResizeInc for window.
399 [-icon filename] Set pixmap for iconWindow.
400 [-s symbol_name color_name] Overwrite color defaults.
401 [-p symbol_name pixel_value] Overwrite color defaults.
402 [-plaid] Read the included plaid pixmap.
403 [filename] Read from file 'filename', and from
404 standard input if 'filename' is '-'.
405 [-o filename] Write to file 'filename', and to standard
406 output if 'filename' is '-'.
407 [-nod] Don't display in window.
408 [-rgb filename] Search color names in the rgb text file
409 'filename'.
410
411 if no input is specified sxpm reads from stdandard input.
412
413
414 - Xpm functions and Ppm converters now deal with multiword colornames.
415 patches from Rainer Sinkwitz <sinkwitz@ifi.unizh.ch>.
416
417
418 3.0 (91/10/03)
419
420 Functions name and defines have been modified again (sorry for that)
421 as follows:
422
423 XpmReadPixmapFile XpmReadFileToPixmap
424 XpmWritePixmapFile XpmWriteFileFromPixmap
425
426 XpmPixmapColorError XpmColorError
427 XpmPixmapSuccess XpmSuccess
428 XpmPixmapOpenFailed XpmOpenFailed
429 XpmPixmapFileInvalid XpmFileInvalid
430 XpmPixmapNoMemory XpmNoMemory
431 XpmPixmapColorFailed XpmColorFailed
432
433 To update code using Xpm you can use the included shell script called
434 rename with the sed commands files name-3.0b-3.0c and name-3.0c-3.0.
435 Old names still valid though.
436
437 NEW FEATURES:
438 - four new functions to work with images instead of pixmaps:
439
440 XpmReadFileToImage
441 XpmWriteFileFromImage
442 XpmCreateImageFromData
443 XpmCreateDataFromImage
444
445 ENHANCEMENTS:
446 Algorithms to create and scan images and pixmaps are based on the
447 MIT's R5 code, thus they are much cleaner than old ones and should
448 avoid any problem with any visual (yes, I trust MIT folks :-)
449
450 BUGS CORRECTED:
451 Imakefile use INCDIR instead of ROOTDIR.
452
453 CHANGES TO THE DOC:
454 - the documentation presents the four new functions.
455
456 3.0c (91/09/18)
457
458 In answer to request of people functions, types and defines names have
459 been changed as follows:
460
461 XCreatePixmapFromData XpmCreatePixmapFromData
462 XCreateDataFromPixmap XpmCreateDataFromPixmap
463 XReadPixmapFile XpmReadPixmapFile
464 XWritePixmapFile XpmWritePixmapFile
465 XFreeXpmAttributes XpmFreeAttributes
466
467 PixmapColorError XpmPixmapColorError
468 PixmapSuccess XpmPixmapSuccess
469 PixmapOpenFailed XpmPixmapOpenFailed
470 PixmapFileInvalid XpmPixmapFileInvalid
471 PixmapNoMemory XpmPixmapNoMemory
472 PixmapColorFailed XpmPixmapColorFailed
473
474 ColorSymbol XpmColorSymbol
475
476 Generally speaking every public name begins with 'Xpm' and every
477 private one with 'xpm'. This should avoid any possible conflict.
478
479 Some files have also be renamed accordingly.
480
481 NEW FEATURES:
482 - support for VMS and two new options for sxpm: icon and hints (see
483 manual for details) Richard Hess <rhess%pleione%cimshop@uunet.UU.NET>
484 - DEFINES in Imakefile and Makefile.noXtree allows you to set the
485 following:
486
487 ZPIPE for un/compressing piped feature (default is on)
488 NEED_STRCASECMP for system which doesn't provide one (default
489 is off)
490
491 - xpmtoppm.c has is own strstr function which is used if NEED_STRSTR
492 is defined when compiling - Hugues.Leroy@irisa.fr (Hugues Leroy).
493
494 BUGS CORRECTED:
495 - many bugs have been fixed, especially for ansi compilers -
496 Doyle C. Davidson (doyle@doyled.b23b.ingr.com) and
497 Clifford D. Morrison (cdm%bigdaddy%edsr@uunet.UU.NET)
498 - parser is again a little more improved
499
500 3.0b (91/09/12)
501
502 This is a complete new version with a new API and where files and
503 structures have been renamed. So this should be taken as a new
504 starting release.
505 This release should be quickly followed by the 3.0 because I'm planning
506 to send it for X11R5 contrib which ends October 5th.
507
508 NEW FEATURES:
509 - support for transparent color.
510 - support for hotspot.
511 - a new function: XCreateDataFromPixmap to create an XPM data from a
512 pixmap in order to be able to create a new pixmap from this data using
513 the XCreatePixmapFromData function later on.
514 - a new structure: XpmAttributes which replace the XpmInfo structure
515 and which leads to a much simpler API with less arguments.
516 - arguments such as visual, colormap and depth are optionnal, default
517 values are taken if omitted.
518 - parsing and allocating color failures don't simply break anymore. If
519 another default color can be found it is used and a PixmapColorError
520 is returned. In case no color can be found then it breaks and returns
521 PixmapColorFailed.
522 - for this reason the ErrorStatus codes are redefined as follows:
523
524 null if full success
525 positive if partial success
526 negative if failure
527
528 with:
529 #define PixmapColorError 1
530 #define PixmapSuccess 0
531 #define PixmapOpenFailed -1
532 #define PixmapFileInvalid -2
533 #define PixmapNoMemory -3
534 #define PixmapColorFailed -4
535
536 - sxpm prints out a warning when a requested color could not be parsed
537 or alloc'ed, and an error when none has been found.
538 - sxpm handles pixmap with transparent color. For this purpose the
539 plaid_mask.xpm is added to the distribution.
540
541 BUGS CORRECTED:
542 - I've again improved the memory management.
543 - the parser is also improved.
544 - when writting a pixmap to a file the variable name could be
545 "plaid.xpm" which is not valid in C. Now the extension name is cut off
546 to give "plaid" as variable name.
547 - reading multiple words colornames such as "peach puff" where leading
548 to non readable Xpm files. They are now skipped to have only single
549 word colorname. Lionel Mallet (mallet@ipvpel.unipv.it).
550 - parser was triggered by the "/" character inside string.
551 Doyle C. Davidson (doyle@doyled.b23b.ingr.com). This is corrected.
552 - sxpm maps the window only if the option "-nod" is not selected.
553
554 CHANGES TO THE DOC:
555 - the documentation presents the new API and features.
556
557 3.0a (91/04/10)
558
559 This is an alpha version because it supports the new version of XPM,
560 but the library interface is still the same. Indeed it will change in
561 future release to get rid of obsolete stuff such as the type argument
562 of the XWritePixmapFile function.
563
564 ******************************* WARNING *********************************
565 The format is not anymore XPM2, it is XPM version 3 which is XPM2
566 limited to the C syntax with the key word "XPM" in place of "XPM2 C".
567 The interface library has not changed yet but the type argument of
568 XWritePixmapFile and the type member of XpmInfo are not used anymore.
569 Meanwhile the library which is now called libXpm.a is backward
570 compatible as XPM2 files can be read. But the XWritePixmapFile
571 function only writes out XPM version 3 files.
572 *************************************************************************
573
574 NEW FEATURES:
575 - the library doesn't use global variables anymore, thus it should be
576 able to share it.
577 - sxpm has been rewritten on top of Xt, it can be used to convert
578 files from XPM2 to XPM version 3.
579 - xpm1to2c.perl has been upgraded to the new XPM version and renamed
580 as xpm1to3.perl
581 - ppmtoxpm2.c and ppmtoxpm2.1 have been upgraded too and renamed
582 ppmtoxpm.c and ppmtoxpm.1. In addition the xpmtoppm.c and xpmtoppm.1
583 of the pbmplus package have been upgraded too. xpmtoppm can thus
584 convert XPM version 1 and 3 to a portable pixmap. These files should
585 replace the original ones which are part of the pbmplus package. See
586 the ppm.README file for more details.
587 - the library contains RCS variables which allows you to get revision
588 numbers with ident (which is part of the RCS package). The Id number
589 is an internal rcs number for my eyes only. The official one is found
590 in Version.
591
592 BUGS CORRECTED:
593 - the memory management has been much improved in order to avoid
594 memory leaks.
595 - the XImage building algorythm has been changed to support correctly
596 different visual depths. There is special code to handle depths 1, 4,
597 6, 8, 24, and 32 to build the image and send it in one whack, and
598 other depths are supported by building the image with XPutPixel which
599 is slow but sure.
600 - similar algorithms are used to read pixmaps and write them out.
601
602 CHANGES TO THE DOC:
603 - the documentation presents the new XPM format.
604
605
606 2.8 (90/12/19)
607
608 ******************************* WARNING *********************************
609 Since the last release two structures have been modified and have now
610 bigger sizes, so ANY CODE USING THE libXPM2 NEEDS TO BE RECOMPILED.
611 *************************************************************************
612
613 NEW FEATURES:
614 - the ColorSymbol struct contains the new member 'pixel' which allow
615 to override default colors by giving a pixel value (in such a case
616 symbol value must be set to NULL),
617 - the XpmInfo struct contains the new member 'rgb_fname' in which one
618 can specify an rgb text file name while writing a pixmap with the
619 XWritePixmapFile function (otherwise this member should be set to
620 NULL). This way colorname will be searched and written out if found
621 instead of the RGB value,
622 - Imakefile originally provided by stolcke@ICSI.Berkeley.EDU,
623 - the old Makefile is now distributed as Makefile.noXtree and presents
624 install targets,
625 - the demo application is renamed sxpm (Show XPM), creates a window of
626 the size of the pixmap if no geometry is specified, prints out
627 messages instead of status when an error occurs, handles the new
628 option -p for overriding colors by giving a pixel value (not really
629 useful but is just here to show this new feature), handles the new
630 option -rgb for specifying an rgb text file, and ends on
631 keypress as buttonpress,
632 - defines for SYSV have been provided by Paul Breslaw
633 <paul@mecazh.uucp>,
634 - the distribution includes a new directory called converters which
635 contains xpm1to2 and xpm1to2c perl converters and a ppmtoxpm2
636 converter provided by Paul Breslaw who upgraded the original ppmtoxpm
637 written by Mark W. Snitily <mark@zok.uucp>.
638
639 CHANGES TO THE DOC:
640 - this file is created and will give old users a quick reference to
641 changes made from one release to the next one,
642 - documentation is changed to present the new ColorSymbol structure
643 and the way to override colors by giving a pixel value, and to present
644 the new XpmInfo structure and how to use it,
645 - a man page for sxpm is added to the distrib,
646 - the README file talks about sxpm and no more demo, and have
647 reference to the different converters.
648
649 2.7 (90/11/12)
650
651 NEW FEATURES:
652 - XReadPixmapFile reads from stdin if filename is NULL,
653 - XWritePixmapFile writes to stdin if filename is NULL,
654 - the demo application handles the new option -nod for no displaying
655 the pixmap in a window (useful when used as converter).
656
657 CHANGES TO THE DOC:
658 - documentation about the new feature.
659
660 2.6 (90/10/29)
661
662 NEW FEATURES:
663 - from nazgul@alphalpha.com (Kee Hinckley): changes to make the
664 library usable as C++ code, and on Apollo without any warning.
665
666 BUGS CORRECTED:
667 - from nazgul@alphalpha.com (Kee Hinckley): the xpm include files was
668 declaring XWritePixmapFile as taking in arg a Pixmap pointer instead
669 of a Pixmap.
670
671 2.5 (90/10/17)
672
673 BUGS CORRECTED:
674 - XWritePixmapFile was not closing the file while ending normaly.
675
676 2.4 (90/09/06)
677
678 NEW FEATURES:
679 - XReadPixmapFile reads from a piped uncompress if the given filename
680 ends by .Z or if filename.Z exists,
681 - XWritePixmapFile writes to a piped compress if the given filename
682 ends by .Z.
683
684 BUGS CORRECTED:
685 - demo now deals with window manager.
686
687 CHANGES TO THE DOC:
688 - documentation about compressed files management.
689
690 2.3 (90/08/30)
691
692 BUGS CORRECTED:
693 - handle monochrom display correctly,
694 - comments can be empty.
695
696 2.2 (90/08/27)
697
698 BUGS CORRECTED:
699 - when reading some invalid free was dumping core on some machine.
700
701 2.1 (90/08/24)
702
703 First distribution of XPM2.
704