[15268] | 1 | /* |
---|
| 2 | * Copyright (C) 1989-95 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.4k (98/03/18) |
---|
| 33 | |
---|
| 34 | ENHANCEMENTS: |
---|
| 35 | - A new program called cxpm is provided to check on XPM files and help |
---|
| 36 | figuring out where the file might be invalid. |
---|
| 37 | - The FAQ and README are now in HTML. |
---|
| 38 | |
---|
| 39 | BUGS CORRECTED: |
---|
| 40 | - A bug in writing pixmaps out on an 32 bit depth visual and MSBFirst |
---|
| 41 | machine. |
---|
| 42 | - patch from Uwe Langenkamp <Uwe.Langenkamp@t-online.de> |
---|
| 43 | - A severe bug in parsing the pixels section when an unknown character |
---|
| 44 | is encountered. |
---|
| 45 | |
---|
| 46 | 3.4j (96/12/31) |
---|
| 47 | |
---|
| 48 | ENHANCEMENTS: |
---|
| 49 | - The XPM library can now be built under Amiga DOS. This entirely comes |
---|
| 50 | from: Lorens Younes <d93-hyo@nada.kth.se> |
---|
| 51 | See the README.AMIGA file for details. |
---|
| 52 | - Changes for MSW: big performance improvement in ParseAndPutPixels(), |
---|
| 53 | fixed creation of the mask in SetColor() |
---|
| 54 | - patch from Jan Wielemaker <jan@swi.psy.uva.nl> |
---|
| 55 | - makefiles are provided for VMS |
---|
| 56 | - given by Martin P.J. Zinser m.zinser@gsi.de |
---|
| 57 | - Imakefiles reworked to get smoother builds and fixes from: |
---|
| 58 | - Paul DuBois dubois@primate.wisc.edu |
---|
| 59 | - Larry Schwimmer schwim@cyclone.stanford.edu |
---|
| 60 | - thanks to some code rearrangement the library is smaller (the size |
---|
| 61 | reduction goes from 4 to 7% depending on the system) |
---|
| 62 | |
---|
| 63 | BUGS CORRECTED: |
---|
| 64 | - A severe bug (introduced in 3.4i as part of the sprintf |
---|
| 65 | optimization) in code writing XPM extensions to a buffer |
---|
| 66 | XpmCreateBufferFromImage/Pixmap. |
---|
| 67 | - The XpmAttributes definition in xpm.h was declaring nalloc_colors to |
---|
| 68 | be Bool, it's an int. |
---|
| 69 | |
---|
| 70 | 3.4i (96/09/13) |
---|
| 71 | |
---|
| 72 | NEW FEATURES: |
---|
| 73 | - The XPM library now allows the application to pass its own color |
---|
| 74 | allocation/free functions. For this matter the following was done: |
---|
| 75 | The XpmAttributes structure has three new fields alloc_color, |
---|
| 76 | free_color, and color_closure. The following new valuemasks were |
---|
| 77 | added XpmAllocColorFunc, XpmFreeColorsFunc, XpmColorClosure. And |
---|
| 78 | two new types were defined XpmAllocColorFunc and XpmFreeColorsFunc. |
---|
| 79 | See documentation for details. |
---|
| 80 | |
---|
| 81 | ENHANCEMENTS: |
---|
| 82 | - Windows NT support. It should compile and run fine based on the X |
---|
| 83 | Consortium X11R6 distribution. |
---|
| 84 | - The README file contains information to compile on Solaris with gcc. |
---|
| 85 | - Part of the code has been optimized by using the value returned by |
---|
| 86 | sprintf instead of calling strlen. Add the flag -DVOID_SPRINTF |
---|
| 87 | if on your system sprintf returns void. |
---|
| 88 | - patch from Thomas Ott thommy@rz.fh-augsburg.de |
---|
| 89 | |
---|
| 90 | BUGS CORRECTED: |
---|
| 91 | - XpmFree is now a real function (simply calling free by default). |
---|
| 92 | |
---|
| 93 | CHANGES TO THE DOC: |
---|
| 94 | - The documentation describes the new XpmAttributes fields and their |
---|
| 95 | use. |
---|
| 96 | |
---|
| 97 | 3.4h (96/02/01) |
---|
| 98 | |
---|
| 99 | NEW FEATURES: |
---|
| 100 | - The XpmAttributes has a new member called 'alloc_close_colors' which |
---|
| 101 | lets the caller specify whether close colors should be allocated |
---|
| 102 | using XAllocColor or not. This is especially useful when one uses a |
---|
| 103 | private colormap full of read/write cells. |
---|
| 104 | The xpm.h header file define a new bitmap flag called |
---|
| 105 | XpmAllocCloseColors to use along with this new slot. |
---|
| 106 | - Dale Pease peased@bigbird.cso.gtegsc.com |
---|
| 107 | - The XpmAttributes has a new member called 'bitmap_format' which lets |
---|
| 108 | the caller specify the format of 1 bit depth images (XYBitmap or |
---|
| 109 | ZPixmap). The xpm.h header file define a new bitmap flag called |
---|
| 110 | XpmBitmapFormat to use along with this new field. |
---|
| 111 | |
---|
| 112 | ENHANCEMENTS: |
---|
| 113 | - XpmReadFileTo[Image/Pixmap], XpmCreate[Image/Pixmap]FromData, |
---|
| 114 | XpmCreateImageFromDataFromBuffer functions do no longer use a |
---|
| 115 | temporary XpmImage object, which reduces a lot the amount of memory |
---|
| 116 | used. On the other hand it can take a little more time, but given the |
---|
| 117 | following figures (based on sxpm) it is a real good trade-off. |
---|
| 118 | |
---|
| 119 | Reading a 22x22 pixmap with 5 colors no time change is detected |
---|
| 120 | using time: |
---|
| 121 | real 0.3 |
---|
| 122 | user 0.1 |
---|
| 123 | sys 0.1 |
---|
| 124 | |
---|
| 125 | Reading a 1279x1023 pixmap with 14 colors (quite extreme case for |
---|
| 126 | XPM!) the time goes from: |
---|
| 127 | real 1.9 |
---|
| 128 | user 0.8 |
---|
| 129 | sys 0.8 |
---|
| 130 | |
---|
| 131 | to: |
---|
| 132 | real 2.2 |
---|
| 133 | user 1.8 |
---|
| 134 | sys 0.3 |
---|
| 135 | |
---|
| 136 | Reading the 22x22 pixmap with 5 colors the memory usage (under |
---|
| 137 | purify) goes from: |
---|
| 138 | 255256 code |
---|
| 139 | 55496 data/bss |
---|
| 140 | 163848 heap (peak use) |
---|
| 141 | 4248 stack |
---|
| 142 | to: |
---|
| 143 | 271240 code |
---|
| 144 | 55472 data/bss |
---|
| 145 | 159752 heap (peak use) |
---|
| 146 | 4224 stack |
---|
| 147 | |
---|
| 148 | And reading the 1279x1023 pixmap with 14 colors it goes from: |
---|
| 149 | 255256 code |
---|
| 150 | 55496 data/bss |
---|
| 151 | 6705160 heap (peak use) |
---|
| 152 | 4280 stack |
---|
| 153 | to: |
---|
| 154 | 271240 code |
---|
| 155 | 55472 data/bss |
---|
| 156 | 1732616 heap (peak use) |
---|
| 157 | 4264 stack |
---|
| 158 | |
---|
| 159 | This clearly shows that while for small pixmaps there is no real |
---|
| 160 | difference on both sides, for large pixmaps this makes a huge |
---|
| 161 | difference about the amount of memory used and it is not much |
---|
| 162 | slower. |
---|
| 163 | |
---|
| 164 | Note that you can still get the old behavior using both |
---|
| 165 | XpmReadFileToXpmImage and XpmCreate[Image/Pixmap]FromXpmImage instead |
---|
| 166 | of XpmReadFileTo[Image/Pixmap]. Once more XPM gives you the choice! |
---|
| 167 | |
---|
| 168 | BUGS CORRECTED: |
---|
| 169 | - when defined locally the global symbols strcasecmp and strdup are |
---|
| 170 | now called xpmstrcasecmp and xpmstrdup to avoid any possible |
---|
| 171 | conflict. |
---|
| 172 | - VMS has a bogus file system which requires a work around in |
---|
| 173 | XpmReadFileToBuffer. |
---|
| 174 | - patch from Bob.Deen@jpl.nasa.gov |
---|
| 175 | - the type of the exactColors attribute has been changed from unsigned |
---|
| 176 | int to Bool. |
---|
| 177 | |
---|
| 178 | CHANGES TO THE DOC: |
---|
| 179 | - the documentation describes the new XpmAttributes fields |
---|
| 180 | alloc_close_colors and bitmap_format. |
---|
| 181 | |
---|
| 182 | 3.4g (95/10/08) |
---|
| 183 | |
---|
| 184 | ENHANCEMENTS: |
---|
| 185 | - The XpmAttributes structure has now two new slots: alloc_pixels and |
---|
| 186 | nalloc_pixels in order to provide an easy way to free allocated |
---|
| 187 | colors. The new bitmask XpmReturnAllocPixels should be used to |
---|
| 188 | request this data through the valuemask. Unless you really know why, |
---|
| 189 | you should use this instead of XpmReturnPixels, pixels, and npixels. |
---|
| 190 | - the XPM1 format parsing has been improved. |
---|
| 191 | - patch from Chuck Thompson <cthomp@cs.uiuc.edu> |
---|
| 192 | - compilers defining _STDC_ to something different from 1 are now |
---|
| 193 | considered as ANSI compilers. |
---|
| 194 | - the README file provides now more info on how to build XPM depending |
---|
| 195 | on the system. |
---|
| 196 | |
---|
| 197 | BUGS CORRECTED: |
---|
| 198 | - a bug introduced in 3.4f in the XPM1 format parsing function. |
---|
| 199 | - fix from Chuck Thompson <cthomp@cs.uiuc.edu> |
---|
| 200 | - the hashtable was not free when the color parsing failed. |
---|
| 201 | - patch from ackley@cs.unm.edu (David Ackley) |
---|
| 202 | - the close color mechanism wasn't used if one of the closeness |
---|
| 203 | parameter was null. Now only one needs to be different from 0. |
---|
| 204 | Lorens Younes d93-hyo@nada.kth.se |
---|
| 205 | - parsing of long comments failed with a segmentation fault. |
---|
| 206 | |
---|
| 207 | CHANGES TO THE DOC: |
---|
| 208 | - the documentation describes the new XpmAttributes fields |
---|
| 209 | alloc_pixels and nalloc_pixels and how they are used. |
---|
| 210 | |
---|
| 211 | 3.4f (95/05/29) |
---|
| 212 | |
---|
| 213 | ENHANCEMENTS: |
---|
| 214 | - Defines IMAKE_DEFINES in the top Imakefile so one can easily avoid |
---|
| 215 | building the shared library. |
---|
| 216 | - Add some information about the installation process in the README. |
---|
| 217 | - filenames are surrounded with quotes when calling gzip or compress in |
---|
| 218 | order to allow spaces within filenames. |
---|
| 219 | - William Parn <parn@fgm.com> |
---|
| 220 | - the compilation and the shared library building should be smoother |
---|
| 221 | on Alpha OSF/1. |
---|
| 222 | - patch from Dale Moore <Dale.Moore@CS.cmu.edu> |
---|
| 223 | |
---|
| 224 | BUGS CORRECTED: |
---|
| 225 | - a segmentation fault occurring in some weird case. |
---|
| 226 | |
---|
| 227 | 3.4e (95/03/01) |
---|
| 228 | |
---|
| 229 | ENHANCEMENTS: |
---|
| 230 | - The top Imakefile passes CDEBUGFLAGS and DEFINES to subdirs. Thus |
---|
| 231 | only this Imakefile should need to be edited by users. |
---|
| 232 | - FAQ includes the answer to the question "How can I get a non |
---|
| 233 | rectangular icon using XPM ?" |
---|
| 234 | - VMS support updated |
---|
| 235 | - patch from Martin P.J. Zinser m.zinser@gsi.de |
---|
| 236 | |
---|
| 237 | BUGS CORRECTED: |
---|
| 238 | - XpmCreateImageFromXpmImage() called from XpmReadFileToPixmap() could |
---|
| 239 | lead to a segmentation fault since free was called on a memory block |
---|
| 240 | size variable instead of the block itself. Note: this bug has been |
---|
| 241 | introduced in 3.4d. |
---|
| 242 | |
---|
| 243 | 3.4d (95/01/31) |
---|
| 244 | |
---|
| 245 | ENHANCEMENTS: |
---|
| 246 | - sxpm now supports a -version option command. |
---|
| 247 | |
---|
| 248 | BUGS CORRECTED: |
---|
| 249 | - the list of pixels returned in XpmAttributes was wrong when two |
---|
| 250 | colors were defined as None in the read XPM |
---|
| 251 | - Lionel.Mallet@sophia.inria.fr |
---|
| 252 | - the parser was skipping whitespace reading extensions strings. This |
---|
| 253 | has been fixed so extensions lines are now returned exactly as they |
---|
| 254 | are. |
---|
| 255 | - some compilation control added for the dec alpha with X11R5 (LONG64) |
---|
| 256 | - patch from Fredrik Lundh <Fredrik_Lundh@ivab.se> |
---|
| 257 | - when writing an XPM file, '-' characters are replaced with '_' |
---|
| 258 | characters in the array name, in order to get a valid C syntax name. |
---|
| 259 | - XYPixmap format images were not correctly handled. |
---|
| 260 | - XPM1 file with names using multiple '_' characters are now handled |
---|
| 261 | correctly. |
---|
| 262 | - todd@erda.rl.af.mil (Todd Gleason) |
---|
| 263 | |
---|
| 264 | 3.4c (94/06/06) |
---|
| 265 | |
---|
| 266 | Yes, this is kind of quick. But this is because no code has been modified, |
---|
| 267 | this is just a new packaging to make the whole stuff more suitable to the |
---|
| 268 | X development team's requests for inclusion in the R6 contrib. |
---|
| 269 | |
---|
| 270 | ENHANCEMENTS: |
---|
| 271 | - Several filenames were too long to fit without any conflict on DOS |
---|
| 272 | and CD-ROM filesystems. They have been renamed. |
---|
| 273 | - Imakefiles use XCOMM for comments instead of the # character. |
---|
| 274 | - the Postscript documentation file doc/xpm.ps is now distributed as |
---|
| 275 | doc/xpm.PS.gz and allows browsing with tools such as ghostview. |
---|
| 276 | - Besides, parts of lib/misc.c have been moved to several new files, |
---|
| 277 | and some functions of data.c have been moved to other files in |
---|
| 278 | order to get a better link profile. |
---|
| 279 | - I've also added a FAQ hoping this will prevent people from |
---|
| 280 | continuously filling my mailbox with the same questions. |
---|
| 281 | - sxpm.c includes <X11/xpm.h> instead of "xpm.h" and BUILDINCTOP is |
---|
| 282 | used in Makefiles as expected. |
---|
| 283 | - Everything can be done simply using "xmkmf -a" and "make". |
---|
| 284 | |
---|
| 285 | 3.4b (94/05/24) |
---|
| 286 | |
---|
| 287 | ENHANCEMENTS: |
---|
| 288 | - XPM can now be built under MS Windows. Yes, this is possible and this |
---|
| 289 | entirely comes from: |
---|
| 290 | - Hermann Dunkel <hedu@cul-ipn.uni-kiel.de> |
---|
| 291 | See the README.MSW file for details. |
---|
| 292 | |
---|
| 293 | - building the shared library now depends on the SharedLibXpm variable |
---|
| 294 | and no longer on the SharedLibX variable which is private to the X |
---|
| 295 | Window System project. |
---|
| 296 | - patch from Stephen Gildea <gildea@x.org> |
---|
| 297 | Other variables can now be set for the various locations needed. |
---|
| 298 | |
---|
| 299 | - lib/parse.c does no longer use a 256x256 array in the stack but |
---|
| 300 | malloc it instead. |
---|
| 301 | |
---|
| 302 | - The Copyright notice which has been re-written from the X11R6's one |
---|
| 303 | should be clearer and is now present in every file. |
---|
| 304 | |
---|
| 305 | BUGS CORRECTED: |
---|
| 306 | - lib/xpmP.h does no longer define a Boolean type which conflicts with |
---|
| 307 | the Intrinsic definition. Instead the type Bool defined in Xlib is |
---|
| 308 | used. |
---|
| 309 | - neumann@watson.ibm.com (Gustaf Neumann) |
---|
| 310 | |
---|
| 311 | 3.4a (94/03/29) |
---|
| 312 | |
---|
| 313 | BUGS CORRECTED: |
---|
| 314 | - passing NULL as shapemask_return to XpmReadFileToPixmap and similar |
---|
| 315 | functions was leading to a bus error. |
---|
| 316 | - Dean Luick <dean@falcon.natinst.com> |
---|
| 317 | |
---|
| 318 | 3.4 (94/03/14) |
---|
| 319 | |
---|
| 320 | IMPORTANT NOTE: |
---|
| 321 | This version is not compatible with 3.3. Fortunately most people should |
---|
| 322 | only need to recompile. |
---|
| 323 | I apology for this but CDE/Motif have put heavy pressure to go that |
---|
| 324 | way. The point is that I designed and released Xpm 3.3 in order to let |
---|
| 325 | OSF include a clean version of Xpm in Motif 2.0. This new version was |
---|
| 326 | not fully compatible with 3.2 but I thought it didn't matter since this |
---|
| 327 | was going to be the first version used within Motif. Unfortunately CDE |
---|
| 328 | was already using xpm-3.2 internally and requires both source and |
---|
| 329 | binary backward compatibility. By the way I must say they didn't drop |
---|
| 330 | us a single line to let us know they were using it and thus were |
---|
| 331 | expecting stability. All this could have been avoided... |
---|
| 332 | |
---|
| 333 | However, since I had to go for a not compatible version I took this as |
---|
| 334 | an opportunity to modify the lower level API, which was new in 3.3 and |
---|
| 335 | which was somewhat clumsy, in order to provide yet a better API. |
---|
| 336 | |
---|
| 337 | The library has been modified to have both source and binary backward |
---|
| 338 | compatibility with xpm-3.2. This implies it is not either source or |
---|
| 339 | binary compatible with 3.3. The fields related to the 3.2 XpmInfos |
---|
| 340 | mechanism have been put back into the XpmAttributes structure. The new |
---|
| 341 | 3.3 XpmInfos struct has been renamed as XpmInfo to avoid conflict with |
---|
| 342 | the old 3.2 flag which is back too. All the semantic related to the |
---|
| 343 | XpmAttributes infos fields is back as well. |
---|
| 344 | |
---|
| 345 | So this new version provides a high level API which is fully |
---|
| 346 | compatible with 3.2 and still provides the 3.3 lower level API |
---|
| 347 | (XpmImage) with the XpmInfos struct renamed as XpmInfo. This leads to |
---|
| 348 | some redundancy but this was the best I could do to satisfy both |
---|
| 349 | CDE/Motif people who needed the backward compatibility and myself (who |
---|
| 350 | always tries to provide you with the best ;-). |
---|
| 351 | |
---|
| 352 | Tests have been successfully performed with pixmap-2.1, pixmap-2.4, and |
---|
| 353 | sxpm. |
---|
| 354 | |
---|
| 355 | ENHANCEMENTS: |
---|
| 356 | - The colorTable member of the XpmAttributes structure is now an |
---|
| 357 | (XpmColor*) in order to be compatible with an XpmImage colorTable. |
---|
| 358 | However in order to be backward compatible this field is cast to |
---|
| 359 | (XpmColor **), which is equivalent to (char ***), when it is used |
---|
| 360 | with the old flags XpmInfos and XpmReturnInfos. To handle the new |
---|
| 361 | type the new flags XpmColorTable and XpmReturnColorTable have been |
---|
| 362 | defined. |
---|
| 363 | - The XpmInfo struct has been extended to avoid having to deal with an |
---|
| 364 | XpmAttributes at the lower level. The idea is that all the data |
---|
| 365 | stored in an Xpm file can be retrieve through both an XpmImage and |
---|
| 366 | an XpmInfo struct. See the documentation for details. |
---|
| 367 | - XpmUndefPixel is defined and exported by xpm.h in order to let |
---|
| 368 | clients providing their own colorTable when writing out an Xpm file. |
---|
| 369 | See the documentation for details. |
---|
| 370 | - in sxpm/sxpm.c, set attribute XtNinput to True on toplevel widget. |
---|
| 371 | Windows that don't "take" input, never get focus, as mandated by |
---|
| 372 | the ICCM. |
---|
| 373 | patch from Henrique Martins <martins@hplhasm.hpl.hp.com> |
---|
| 374 | - lib/Imakefile modified to build the shared library under IRIX 5. |
---|
| 375 | patch from simon@lia.di.epfl.ch (Simon Leinen) |
---|
| 376 | |
---|
| 377 | NEW FEATURES: |
---|
| 378 | - a new function and a new define should help client figuring out with |
---|
| 379 | which Xpm library version they are working. These are |
---|
| 380 | XpmIncludeVersion and XpmLibraryVersion(). |
---|
| 381 | |
---|
| 382 | 3.3 (93/12/20) |
---|
| 383 | |
---|
| 384 | NEW FEATURES: |
---|
| 385 | - XPM1 files are now supported. |
---|
| 386 | - a new function is provided to get an error string related to the |
---|
| 387 | returned error code. |
---|
| 388 | - suggested by Detlef Schmier <detlef@mfr.dec.com> |
---|
| 389 | |
---|
| 390 | ENHANCEMENTS: |
---|
| 391 | - gzip and gunzip are called with the -q option (quiet) |
---|
| 392 | - patch from Chris P. Ross <cross@eng.umd.edu> |
---|
| 393 | - the parser is again more flexible about the way the strings are |
---|
| 394 | distributed on lines. Actually a single line XPM file can be read. |
---|
| 395 | - the documentation should be clearer about shapemask generation and |
---|
| 396 | XpmAttributes valuemask. |
---|
| 397 | |
---|
| 398 | BUGS CORRECTED: |
---|
| 399 | - reading some binary file was leading to a bus error. |
---|
| 400 | - patch from Detlef Schmier <detlef@mfr.dec.com> |
---|
| 401 | - the ? character is no longer used when writing an XPM file in order |
---|
| 402 | to avoid possible ANSI trigraphs. |
---|
| 403 | |
---|
| 404 | 3.3alpha (93/08/13) |
---|
| 405 | |
---|
| 406 | NEW FEATURES: |
---|
| 407 | - a new level interface is provided to allow applications to do either |
---|
| 408 | icon editing or data caching. |
---|
| 409 | The XpmAttributes has been changed but most applications will just |
---|
| 410 | need to be recompiled. |
---|
| 411 | - new structures are provided to deal with the new lower level: |
---|
| 412 | XpmImage, XpmColor, XpmInfos. |
---|
| 413 | |
---|
| 414 | - a separate distribution called xpm-contrib is available. This |
---|
| 415 | includes the converters which used to be part of this distribution |
---|
| 416 | plus: |
---|
| 417 | two new applications: |
---|
| 418 | * nexpm to draw a pixmap in *any* existing window from |
---|
| 419 | Ralph Betza <gnohmon@ssiny.com> |
---|
| 420 | * xpmview to display a list of Xpm files from |
---|
| 421 | Jean Michel Leon <leon@sophia.inria.fr> |
---|
| 422 | |
---|
| 423 | a hacky string to pixmap converter, provided by |
---|
| 424 | Robert H. Forsman Jr. <thoth@manatee.cis.ufl.edu> |
---|
| 425 | |
---|
| 426 | The Xpm editor called pixmap will also be part of this contrib. |
---|
| 427 | This does not mean it is the best pixmap editor one can find |
---|
| 428 | but it is the only one that I know of which tries to handle |
---|
| 429 | all the features of this format. |
---|
| 430 | |
---|
| 431 | ENHANCEMENTS: |
---|
| 432 | - the code to build XImage data has been optimized by |
---|
| 433 | jules@x.co.uk (Julian Gosnell) |
---|
| 434 | the old code is still available when compiling with the |
---|
| 435 | -DWITHOUT_SPEEDUPS flag. |
---|
| 436 | |
---|
| 437 | - closecolor code was not re-entrant |
---|
| 438 | - dbl@visual.com (David B. Lewis) |
---|
| 439 | - fix gzip filename (*.gz and no longer *.z). |
---|
| 440 | - Jason Patterson <jasonp@fitmail.fit.qut.edu.au> |
---|
| 441 | - sxpm has 2 new options: |
---|
| 442 | -nom to do not display the mask if there is one |
---|
| 443 | -cp <color> <pixel> to override a color value with a given |
---|
| 444 | pixel, i.e. sxpm plaid.xpm -cp red 4 |
---|
| 445 | |
---|
| 446 | also the '-s' adn '-p' options have been renamed to '-sc' and '-sp'. |
---|
| 447 | |
---|
| 448 | - xpm.h defines XpmFormat, XpmVersion, and XpmRevision numbers. |
---|
| 449 | |
---|
| 450 | BUGS CORRECTED: |
---|
| 451 | - closecolor minor fix |
---|
| 452 | - Jason Patterson <jasonp@fitmail.fit.qut.edu.au> |
---|
| 453 | |
---|
| 454 | 3.2g (93/04/26) |
---|
| 455 | |
---|
| 456 | ENHANCEMENTS: |
---|
| 457 | - much faster close colors |
---|
| 458 | - piping from/to compressed files now handles GNU's gzip (.z) format |
---|
| 459 | - added XpmColorKey attribute - ability to specify which visual's |
---|
| 460 | colors to use (ie: now it's possible to read in a pixmap in a |
---|
| 461 | color visual, but use the colors specified for monochrome). |
---|
| 462 | - added -mono, -grey4, -grey and -color options to sxpm to demonstrate |
---|
| 463 | the XpmColorKey attribute. |
---|
| 464 | - Jason Patterson <jasonp@fitmail.qut.edu.au> |
---|
| 465 | |
---|
| 466 | BUGS CORRECTED: |
---|
| 467 | - fixed bug where redefining "None" as a pixel stopped mask generation |
---|
| 468 | - minor SVR4 defines for <string.h> |
---|
| 469 | - fixed annoying closecolor bug related to read/write color cells |
---|
| 470 | - fixed minor bug in color value -> pixel overloading |
---|
| 471 | - manual updated to include new red/green/blue closeness attributes |
---|
| 472 | - Jason Patterson <jasonp@fitmail.qut.edu.au> |
---|
| 473 | |
---|
| 474 | - the top Imakefile was missing the depend target |
---|
| 475 | - sxpm/Imakefile fixed so that -L../lib is set before the standard |
---|
| 476 | library location. |
---|
| 477 | - Vivek Khera <khera@cs.duke.edu> |
---|
| 478 | |
---|
| 479 | - lib/xpmP.h now defines bcopy as memcpy for VMS (required by recent |
---|
| 480 | versions of VMS) |
---|
| 481 | - J. Daniel Smith <dsmith@ann-arbor.applicon.slb.com> |
---|
| 482 | |
---|
| 483 | - the lib/Imakefile didn't work with X11R4. |
---|
| 484 | |
---|
| 485 | |
---|
| 486 | 3.2f (93/03/17) |
---|
| 487 | |
---|
| 488 | NEW FEATURES: |
---|
| 489 | - the library provides four new functions to deal with Xpm files |
---|
| 490 | loaded in memory as single character strings buffers: |
---|
| 491 | |
---|
| 492 | XpmCreateImageFromBuffer |
---|
| 493 | XpmCreatePixmapFromBuffer |
---|
| 494 | XpmCreateBufferFromImage |
---|
| 495 | XpmCreateBufferFromPixmap |
---|
| 496 | |
---|
| 497 | - in addition, as a convenience, two functions are provided to copy a |
---|
| 498 | file in a buffer and to write a file from a buffer: |
---|
| 499 | |
---|
| 500 | XpmReadFileToBuffer |
---|
| 501 | XpmWriteFileFromBuffer |
---|
| 502 | |
---|
| 503 | ENHANCEMENTS: |
---|
| 504 | - Files are now dispatched in the following sub-directories: |
---|
| 505 | lib, sxpm, and doc. |
---|
| 506 | - Imakefiles will let you build a shared library as well as the static |
---|
| 507 | one (with either X11R4 or X11R5). |
---|
| 508 | - The documentation has been ported from LaTeX to FrameMaker and is |
---|
| 509 | now included in the distribution in its PostScript form (doc/xpm.ps). |
---|
| 510 | Source files are available on request. |
---|
| 511 | Also the documentation has been reorganized and includes a table of |
---|
| 512 | contents and an index of the functions (the number of functions |
---|
| 513 | increasing this became a requisite). |
---|
| 514 | |
---|
| 515 | BUGS CORRECTED: |
---|
| 516 | - Many warnings have been fixed - patch from Daniel Dardailler |
---|
| 517 | daniel@osf.org |
---|
| 518 | |
---|
| 519 | 3.2e (93/02/05) |
---|
| 520 | |
---|
| 521 | ENHANCEMENTS: |
---|
| 522 | - use XpmMalloc, XpmRealloc, XpmCalloc, and XpmFree which are defines |
---|
| 523 | in xpmP.h. This should help people wanting to use their own functions. |
---|
| 524 | |
---|
| 525 | BUGS CORRECTED: |
---|
| 526 | - Intrinsic.h is no longer included. |
---|
| 527 | - bzero is defined as memset on SYSV and SVR4. |
---|
| 528 | - some memory initialization bug concerning XpmAttributes. |
---|
| 529 | |
---|
| 530 | 3.2d (93/01/27) |
---|
| 531 | |
---|
| 532 | ENHANCEMENTS: |
---|
| 533 | - compile on Solaris 2.0 |
---|
| 534 | - patch from Clint Jeffery <cjeffery@cs.arizona.edu> |
---|
| 535 | |
---|
| 536 | BUGS CORRECTED: |
---|
| 537 | - shape masks are now set correctly for LSBFirst (Decs). |
---|
| 538 | - pixmaps are now set correctly for 2 bit displays (Nexts). |
---|
| 539 | - patch from Josef Leherbauer <joe@takeFive.co.at> |
---|
| 540 | - isspace was called on getc which fails when EOF is returned. |
---|
| 541 | - Marelli Paolo <marelli@colos3.usr.dsi.unimi.it> |
---|
| 542 | |
---|
| 543 | 3.2c (92/12/29) |
---|
| 544 | |
---|
| 545 | ENHANCEMENTS: |
---|
| 546 | - parsing optimized for single and double characters color |
---|
| 547 | - patch originally from Martin Brunecky |
---|
| 548 | marbru@build1.auto-trol.com |
---|
| 549 | |
---|
| 550 | BUGS CORRECTED: |
---|
| 551 | - XpmFreeExtensions was calling free on some argument without checking |
---|
| 552 | it was not NULL. |
---|
| 553 | - strdup was not correctly defined for systems which do not provide |
---|
| 554 | it. - Hans-Peter Lichtin <lich@zellweger.ch> |
---|
| 555 | - some bug in XpmCrDataFI.c |
---|
| 556 | - Sven Delmas garfield@avalanche.cs.tu-berlin.de |
---|
| 557 | |
---|
| 558 | NOTE: |
---|
| 559 | - there is still a bug with the creation of the clipmask on display of |
---|
| 560 | depth 2 but I can't find a fix because unfortunately I don't have such |
---|
| 561 | a rendering system and nobody gets the time to investigate for me. |
---|
| 562 | |
---|
| 563 | 3.2b (92/10/19) |
---|
| 564 | |
---|
| 565 | ENHANCEMENTS: |
---|
| 566 | - Create XpmReadFileToData and XpmWriteFileFromData |
---|
| 567 | - Dan Greening <dgreen@sti.com> |
---|
| 568 | - added "close colors" support and ability to redefine color values |
---|
| 569 | as pixels at load time, as well as color names |
---|
| 570 | - Jason Patterson <jasonp@fitmail.qut.edu.au> |
---|
| 571 | - errors while parsing or allocating colors now revert to other |
---|
| 572 | visual defaults, creating pixmap/image as expected, and returning |
---|
| 573 | XpmSuccess. The old behavior of XpmColorError being returned and no |
---|
| 574 | pixmap/image being created can be retained by setting the |
---|
| 575 | exactColors attribute. |
---|
| 576 | - Jason Patterson <jasonp@fitmail.qut.edu.au> |
---|
| 577 | |
---|
| 578 | BUGS CORRECTED: |
---|
| 579 | - SVR4 defines for including <string.h> instead of <strings.h> |
---|
| 580 | - Jason Patterson <jasonp@fitmail.qut.edu.au> |
---|
| 581 | - attributes->extensions and attributes->nextensions fields were not |
---|
| 582 | set correctly when no extensions present in file. |
---|
| 583 | - Simon_Scott Cornish <cornish@ecr.mu.oz.au> |
---|
| 584 | |
---|
| 585 | 3.2a (92/08/17) |
---|
| 586 | |
---|
| 587 | ENHANCEMENTS: |
---|
| 588 | - use the mock lisp hashing function instead of the gnu emacs one, |
---|
| 589 | it is faster in some cases and never slower (I've not found any case). |
---|
| 590 | |
---|
| 591 | BUGS CORRECTED: |
---|
| 592 | - function prototypes for ansi compilers. |
---|
| 593 | - some memory initialization bugs (purify is just great for this). |
---|
| 594 | - empty strings in extensions are now correctly handled. |
---|
| 595 | |
---|
| 596 | 3.2 (92/07/06) |
---|
| 597 | |
---|
| 598 | NEW FEATURES: |
---|
| 599 | - both format and functions handle extensions data. This allow people |
---|
| 600 | to store additional data related to a pixmap. See documentation for |
---|
| 601 | detail. |
---|
| 602 | - sxpm supports the new option '-c' to use a private colormap. This is |
---|
| 603 | useful when displaying pixmaps using a lot of colors. |
---|
| 604 | - sxpm supports the new option '-v' (verbose) to get possible |
---|
| 605 | extensions print out on standard error. |
---|
| 606 | |
---|
| 607 | ENHANCEMENTS: |
---|
| 608 | - most of the code has been reworked to be improved and thus almost |
---|
| 609 | every function is faster. It takes less than 6 seconds of real time on |
---|
| 610 | a sun4 to display, with sxpm, a 487x635 pixmap using 213 colors, while |
---|
| 611 | it takes 32 seconds with the old library! It takes 18 seconds to |
---|
| 612 | display a 1279x1023 screen dump using 14 colors while xwud takes 10 |
---|
| 613 | seconds. |
---|
| 614 | Of course performance improvements are not always that great, they |
---|
| 615 | depend on the size and number of colors but I'm sure everybody will |
---|
| 616 | appreciate ;-) |
---|
| 617 | I know how to improve it more but this will require changes in the |
---|
| 618 | architecture so this is not for now. Some optimizations have been |
---|
| 619 | contributed by gregor@kafka.saic.com (gregg hanna) and |
---|
| 620 | jnc@csl.biosci.arizona.edu (John N. Calley). |
---|
| 621 | - the Imakefile is modified to let you install sxpm - Rainer Klute |
---|
| 622 | <klute@irb.informatik.uni-dortmund.de> |
---|
| 623 | - xpmP.h declares popen for Sequent platforms - Clinton Jeffery |
---|
| 624 | <cjeffery@cs.arizona.edu> |
---|
| 625 | - XpmWriteFileFromImage/Pixmap rather than truncating the pixmap name |
---|
| 626 | to the first dot changes dots to underscores to get a valid C syntax |
---|
| 627 | name. |
---|
| 628 | |
---|
| 629 | |
---|
| 630 | BUGS CORRECTED: |
---|
| 631 | - there was a bug in the image creation function for some 24 bits |
---|
| 632 | displays. It is fixed. |
---|
| 633 | - allocated color pixels are now freed when an error occurs - |
---|
| 634 | nusser@dec1.wu-wien.ac.at (Stefan Nusser) |
---|
| 635 | |
---|
| 636 | CHANGES TO THE DOC: |
---|
| 637 | - the documentation describes the new XpmExtension structure and how |
---|
| 638 | to use it with read and write functions. |
---|
| 639 | |
---|
| 640 | 3.1 (92/02/03) |
---|
| 641 | |
---|
| 642 | ENHANCEMENTS: |
---|
| 643 | - sxpm now have more standard options (mainly suggested by |
---|
| 644 | Rainer Sinkwitz <sinkwitz@ifi.unizh.ch>): |
---|
| 645 | |
---|
| 646 | Usage: sxpm [options...] |
---|
| 647 | Where options are: |
---|
| 648 | |
---|
| 649 | [-d host:display] Display to connect to. |
---|
| 650 | [-g geom] Geometry of window. |
---|
| 651 | [-hints] Set ResizeInc for window. |
---|
| 652 | [-icon filename] Set pixmap for iconWindow. |
---|
| 653 | [-s symbol_name color_name] Overwrite color defaults. |
---|
| 654 | [-p symbol_name pixel_value] Overwrite color defaults. |
---|
| 655 | [-plaid] Read the included plaid pixmap. |
---|
| 656 | [filename] Read from file 'filename', and from |
---|
| 657 | standard input if 'filename' is '-'. |
---|
| 658 | [-o filename] Write to file 'filename', and to standard |
---|
| 659 | output if 'filename' is '-'. |
---|
| 660 | [-nod] Don't display in window. |
---|
| 661 | [-rgb filename] Search color names in the rgb text file |
---|
| 662 | 'filename'. |
---|
| 663 | |
---|
| 664 | if no input is specified sxpm reads from standard input. |
---|
| 665 | |
---|
| 666 | |
---|
| 667 | - Xpm functions and Ppm converters now deal with multiword colornames. |
---|
| 668 | patches from Rainer Sinkwitz <sinkwitz@ifi.unizh.ch>. |
---|
| 669 | |
---|
| 670 | |
---|
| 671 | 3.0 (91/10/03) |
---|
| 672 | |
---|
| 673 | Functions name and defines have been modified again (sorry for that) |
---|
| 674 | as follows: |
---|
| 675 | |
---|
| 676 | XpmReadPixmapFile XpmReadFileToPixmap |
---|
| 677 | XpmWritePixmapFile XpmWriteFileFromPixmap |
---|
| 678 | |
---|
| 679 | XpmPixmapColorError XpmColorError |
---|
| 680 | XpmPixmapSuccess XpmSuccess |
---|
| 681 | XpmPixmapOpenFailed XpmOpenFailed |
---|
| 682 | XpmPixmapFileInvalid XpmFileInvalid |
---|
| 683 | XpmPixmapNoMemory XpmNoMemory |
---|
| 684 | XpmPixmapColorFailed XpmColorFailed |
---|
| 685 | |
---|
| 686 | To update code using Xpm you can use the included shell script called |
---|
| 687 | rename with the sed commands files name-3.0b-3.0c and name-3.0c-3.0. |
---|
| 688 | Old names still valid though. |
---|
| 689 | |
---|
| 690 | NEW FEATURES: |
---|
| 691 | - four new functions to work with images instead of pixmaps: |
---|
| 692 | |
---|
| 693 | XpmReadFileToImage |
---|
| 694 | XpmWriteFileFromImage |
---|
| 695 | XpmCreateImageFromData |
---|
| 696 | XpmCreateDataFromImage |
---|
| 697 | |
---|
| 698 | ENHANCEMENTS: |
---|
| 699 | Algorithms to create and scan images and pixmaps are based on the |
---|
| 700 | MIT's R5 code, thus they are much cleaner than old ones and should |
---|
| 701 | avoid any problem with any visual (yes, I trust MIT folks :-) |
---|
| 702 | |
---|
| 703 | BUGS CORRECTED: |
---|
| 704 | Imakefile use INCDIR instead of ROOTDIR. |
---|
| 705 | |
---|
| 706 | CHANGES TO THE DOC: |
---|
| 707 | - the documentation presents the four new functions. |
---|
| 708 | |
---|
| 709 | 3.0c (91/09/18) |
---|
| 710 | |
---|
| 711 | In answer to request of people functions, types and defines names have |
---|
| 712 | been changed as follows: |
---|
| 713 | |
---|
| 714 | XCreatePixmapFromData XpmCreatePixmapFromData |
---|
| 715 | XCreateDataFromPixmap XpmCreateDataFromPixmap |
---|
| 716 | XReadPixmapFile XpmReadPixmapFile |
---|
| 717 | XWritePixmapFile XpmWritePixmapFile |
---|
| 718 | XFreeXpmAttributes XpmFreeAttributes |
---|
| 719 | |
---|
| 720 | PixmapColorError XpmPixmapColorError |
---|
| 721 | PixmapSuccess XpmPixmapSuccess |
---|
| 722 | PixmapOpenFailed XpmPixmapOpenFailed |
---|
| 723 | PixmapFileInvalid XpmPixmapFileInvalid |
---|
| 724 | PixmapNoMemory XpmPixmapNoMemory |
---|
| 725 | PixmapColorFailed XpmPixmapColorFailed |
---|
| 726 | |
---|
| 727 | ColorSymbol XpmColorSymbol |
---|
| 728 | |
---|
| 729 | Generally speaking every public name begins with 'Xpm' and every |
---|
| 730 | private one with 'xpm'. This should avoid any possible conflict. |
---|
| 731 | |
---|
| 732 | Some files have also be renamed accordingly. |
---|
| 733 | |
---|
| 734 | NEW FEATURES: |
---|
| 735 | - support for VMS and two new options for sxpm: icon and hints (see |
---|
| 736 | manual for details) Richard Hess <rhess%pleione%cimshop@uunet.UU.NET> |
---|
| 737 | - DEFINES in Imakefile and Makefile.noXtree allows you to set the |
---|
| 738 | following: |
---|
| 739 | |
---|
| 740 | ZPIPE for un/compressing piped feature (default is on) |
---|
| 741 | NEED_STRCASECMP for system which doesn't provide one (default |
---|
| 742 | is off) |
---|
| 743 | |
---|
| 744 | - xpmtoppm.c has is own strstr function which is used if NEED_STRSTR |
---|
| 745 | is defined when compiling - Hugues.Leroy@irisa.fr (Hugues Leroy). |
---|
| 746 | |
---|
| 747 | BUGS CORRECTED: |
---|
| 748 | - many bugs have been fixed, especially for ansi compilers - |
---|
| 749 | Doyle C. Davidson (doyle@doyled.b23b.ingr.com) and |
---|
| 750 | Clifford D. Morrison (cdm%bigdaddy%edsr@uunet.UU.NET) |
---|
| 751 | - parser is again a little more improved |
---|
| 752 | |
---|
| 753 | 3.0b (91/09/12) |
---|
| 754 | |
---|
| 755 | This is a complete new version with a new API and where files and |
---|
| 756 | structures have been renamed. So this should be taken as a new |
---|
| 757 | starting release. |
---|
| 758 | This release should be quickly followed by the 3.0 because I'm planning |
---|
| 759 | to send it for X11R5 contrib which ends October 5th. |
---|
| 760 | |
---|
| 761 | NEW FEATURES: |
---|
| 762 | - support for transparent color. |
---|
| 763 | - support for hotspot. |
---|
| 764 | - a new function: XCreateDataFromPixmap to create an XPM data from a |
---|
| 765 | pixmap in order to be able to create a new pixmap from this data using |
---|
| 766 | the XCreatePixmapFromData function later on. |
---|
| 767 | - a new structure: XpmAttributes which replace the XpmInfo structure |
---|
| 768 | and which leads to a much simpler API with less arguments. |
---|
| 769 | - arguments such as visual, colormap and depth are optional, default |
---|
| 770 | values are taken if omitted. |
---|
| 771 | - parsing and allocating color failures don't simply break anymore. If |
---|
| 772 | another default color can be found it is used and a PixmapColorError |
---|
| 773 | is returned. In case no color can be found then it breaks and returns |
---|
| 774 | PixmapColorFailed. |
---|
| 775 | - for this reason the ErrorStatus codes are redefined as follows: |
---|
| 776 | |
---|
| 777 | null if full success |
---|
| 778 | positive if partial success |
---|
| 779 | negative if failure |
---|
| 780 | |
---|
| 781 | with: |
---|
| 782 | #define PixmapColorError 1 |
---|
| 783 | #define PixmapSuccess 0 |
---|
| 784 | #define PixmapOpenFailed -1 |
---|
| 785 | #define PixmapFileInvalid -2 |
---|
| 786 | #define PixmapNoMemory -3 |
---|
| 787 | #define PixmapColorFailed -4 |
---|
| 788 | |
---|
| 789 | - sxpm prints out a warning when a requested color could not be parsed |
---|
| 790 | or alloc'ed, and an error when none has been found. |
---|
| 791 | - sxpm handles pixmap with transparent color. For this purpose the |
---|
| 792 | plaid_mask.xpm is added to the distribution. |
---|
| 793 | |
---|
| 794 | BUGS CORRECTED: |
---|
| 795 | - I've again improved the memory management. |
---|
| 796 | - the parser is also improved. |
---|
| 797 | - when writing a pixmap to a file the variable name could be |
---|
| 798 | "plaid.xpm" which is not valid in C. Now the extension name is cut off |
---|
| 799 | to give "plaid" as variable name. |
---|
| 800 | - reading multiple words colornames such as "peach puff" where leading |
---|
| 801 | to non readable Xpm files. They are now skipped to have only single |
---|
| 802 | word colorname. Lionel Mallet (mallet@ipvpel.unipv.it). |
---|
| 803 | - parser was triggered by the "/" character inside string. |
---|
| 804 | Doyle C. Davidson (doyle@doyled.b23b.ingr.com). This is corrected. |
---|
| 805 | - sxpm maps the window only if the option "-nod" is not selected. |
---|
| 806 | |
---|
| 807 | CHANGES TO THE DOC: |
---|
| 808 | - the documentation presents the new API and features. |
---|
| 809 | |
---|
| 810 | 3.0a (91/04/10) |
---|
| 811 | |
---|
| 812 | This is an alpha version because it supports the new version of XPM, |
---|
| 813 | but the library interface is still the same. Indeed it will change in |
---|
| 814 | future release to get rid of obsolete stuff such as the type argument |
---|
| 815 | of the XWritePixmapFile function. |
---|
| 816 | |
---|
| 817 | ******************************* WARNING ********************************* |
---|
| 818 | The format is not anymore XPM2, it is XPM version 3 which is XPM2 |
---|
| 819 | limited to the C syntax with the key word "XPM" in place of "XPM2 C". |
---|
| 820 | The interface library has not changed yet but the type argument of |
---|
| 821 | XWritePixmapFile and the type member of XpmInfo are not used anymore. |
---|
| 822 | Meanwhile the library which is now called libXpm.a is backward |
---|
| 823 | compatible as XPM2 files can be read. But the XWritePixmapFile |
---|
| 824 | function only writes out XPM version 3 files. |
---|
| 825 | ************************************************************************* |
---|
| 826 | |
---|
| 827 | NEW FEATURES: |
---|
| 828 | - the library doesn't use global variables anymore, thus it should be |
---|
| 829 | able to share it. |
---|
| 830 | - sxpm has been rewritten on top of Xt, it can be used to convert |
---|
| 831 | files from XPM2 to XPM version 3. |
---|
| 832 | - xpm1to2c.perl has been upgraded to the new XPM version and renamed |
---|
| 833 | as xpm1to3.perl |
---|
| 834 | - ppmtoxpm2.c and ppmtoxpm2.1 have been upgraded too and renamed |
---|
| 835 | ppmtoxpm.c and ppmtoxpm.1. In addition the xpmtoppm.c and xpmtoppm.1 |
---|
| 836 | of the pbmplus package have been upgraded too. xpmtoppm can thus |
---|
| 837 | convert XPM version 1 and 3 to a portable pixmap. These files should |
---|
| 838 | replace the original ones which are part of the pbmplus package. See |
---|
| 839 | the ppm.README file for more details. |
---|
| 840 | - the library contains RCS variables which allows you to get revision |
---|
| 841 | numbers with ident (which is part of the RCS package). The Id number |
---|
| 842 | is an internal rcs number for my eyes only. The official one is found |
---|
| 843 | in Version. |
---|
| 844 | |
---|
| 845 | BUGS CORRECTED: |
---|
| 846 | - the memory management has been much improved in order to avoid |
---|
| 847 | memory leaks. |
---|
| 848 | - the XImage building algorithm has been changed to support correctly |
---|
| 849 | different visual depths. There is special code to handle depths 1, 4, |
---|
| 850 | 6, 8, 24, and 32 to build the image and send it in one whack, and |
---|
| 851 | other depths are supported by building the image with XPutPixel which |
---|
| 852 | is slow but sure. |
---|
| 853 | - similar algorithms are used to read pixmaps and write them out. |
---|
| 854 | |
---|
| 855 | CHANGES TO THE DOC: |
---|
| 856 | - the documentation presents the new XPM format. |
---|
| 857 | |
---|
| 858 | |
---|
| 859 | 2.8 (90/12/19) |
---|
| 860 | |
---|
| 861 | ******************************* WARNING ********************************* |
---|
| 862 | Since the last release two structures have been modified and have now |
---|
| 863 | bigger sizes, so ANY CODE USING THE libXPM2 NEEDS TO BE RECOMPILED. |
---|
| 864 | ************************************************************************* |
---|
| 865 | |
---|
| 866 | NEW FEATURES: |
---|
| 867 | - the ColorSymbol struct contains the new member 'pixel' which allow |
---|
| 868 | to override default colors by giving a pixel value (in such a case |
---|
| 869 | symbol value must be set to NULL), |
---|
| 870 | - the XpmInfo struct contains the new member 'rgb_fname' in which one |
---|
| 871 | can specify an rgb text file name while writing a pixmap with the |
---|
| 872 | XWritePixmapFile function (otherwise this member should be set to |
---|
| 873 | NULL). This way colorname will be searched and written out if found |
---|
| 874 | instead of the RGB value, |
---|
| 875 | - Imakefile originally provided by stolcke@ICSI.Berkeley.EDU, |
---|
| 876 | - the old Makefile is now distributed as Makefile.noXtree and presents |
---|
| 877 | install targets, |
---|
| 878 | - the demo application is renamed sxpm (Show XPM), creates a window of |
---|
| 879 | the size of the pixmap if no geometry is specified, prints out |
---|
| 880 | messages instead of status when an error occurs, handles the new |
---|
| 881 | option -p for overriding colors by giving a pixel value (not really |
---|
| 882 | useful but is just here to show this new feature), handles the new |
---|
| 883 | option -rgb for specifying an rgb text file, and ends on |
---|
| 884 | keypress as buttonpress, |
---|
| 885 | - defines for SYSV have been provided by Paul Breslaw |
---|
| 886 | <paul@mecazh.uucp>, |
---|
| 887 | - the distribution includes a new directory called converters which |
---|
| 888 | contains xpm1to2 and xpm1to2c perl converters and a ppmtoxpm2 |
---|
| 889 | converter provided by Paul Breslaw who upgraded the original ppmtoxpm |
---|
| 890 | written by Mark W. Snitily <mark@zok.uucp>. |
---|
| 891 | |
---|
| 892 | CHANGES TO THE DOC: |
---|
| 893 | - this file is created and will give old users a quick reference to |
---|
| 894 | changes made from one release to the next one, |
---|
| 895 | - documentation is changed to present the new ColorSymbol structure |
---|
| 896 | and the way to override colors by giving a pixel value, and to present |
---|
| 897 | the new XpmInfo structure and how to use it, |
---|
| 898 | - a man page for sxpm is added to the distrib, |
---|
| 899 | - the README file talks about sxpm and no more demo, and have |
---|
| 900 | reference to the different converters. |
---|
| 901 | |
---|
| 902 | 2.7 (90/11/12) |
---|
| 903 | |
---|
| 904 | NEW FEATURES: |
---|
| 905 | - XReadPixmapFile reads from stdin if filename is NULL, |
---|
| 906 | - XWritePixmapFile writes to stdin if filename is NULL, |
---|
| 907 | - the demo application handles the new option -nod for no displaying |
---|
| 908 | the pixmap in a window (useful when used as converter). |
---|
| 909 | |
---|
| 910 | CHANGES TO THE DOC: |
---|
| 911 | - documentation about the new feature. |
---|
| 912 | |
---|
| 913 | 2.6 (90/10/29) |
---|
| 914 | |
---|
| 915 | NEW FEATURES: |
---|
| 916 | - from nazgul@alphalpha.com (Kee Hinckley): changes to make the |
---|
| 917 | library usable as C++ code, and on Apollo without any warning. |
---|
| 918 | |
---|
| 919 | BUGS CORRECTED: |
---|
| 920 | - from nazgul@alphalpha.com (Kee Hinckley): the xpm include files was |
---|
| 921 | declaring XWritePixmapFile as taking in arg a Pixmap pointer instead |
---|
| 922 | of a Pixmap. |
---|
| 923 | |
---|
| 924 | 2.5 (90/10/17) |
---|
| 925 | |
---|
| 926 | BUGS CORRECTED: |
---|
| 927 | - XWritePixmapFile was not closing the file while ending normally. |
---|
| 928 | |
---|
| 929 | 2.4 (90/09/06) |
---|
| 930 | |
---|
| 931 | NEW FEATURES: |
---|
| 932 | - XReadPixmapFile reads from a piped uncompress if the given filename |
---|
| 933 | ends by .Z or if filename.Z exists, |
---|
| 934 | - XWritePixmapFile writes to a piped compress if the given filename |
---|
| 935 | ends by .Z. |
---|
| 936 | |
---|
| 937 | BUGS CORRECTED: |
---|
| 938 | - demo now deals with window manager. |
---|
| 939 | |
---|
| 940 | CHANGES TO THE DOC: |
---|
| 941 | - documentation about compressed files management. |
---|
| 942 | |
---|
| 943 | 2.3 (90/08/30) |
---|
| 944 | |
---|
| 945 | BUGS CORRECTED: |
---|
| 946 | - handle monochrome display correctly, |
---|
| 947 | - comments can be empty. |
---|
| 948 | |
---|
| 949 | 2.2 (90/08/27) |
---|
| 950 | |
---|
| 951 | BUGS CORRECTED: |
---|
| 952 | - when reading some invalid free was dumping core on some machine. |
---|
| 953 | |
---|
| 954 | 2.1 (90/08/24) |
---|
| 955 | |
---|
| 956 | First distribution of XPM2. |
---|
| 957 | |
---|