Newsgroups: comp.os.linux.announce
From: Mitch DSouza <m.dsouza@mrc-apu.cam.ac.uk>
Subject: [ANNOUNCE] libXpm-3.4 (DLL version 4.0) for linux is available
Message-ID: <1994Mar22.180651.17177@cs.cornell.edu>
Date: Tue, 22 Mar 1994 18:06:51 GMT
Approved: linux-announce@tc.cornell.edu (Matt Welsh)

[libXpm is a library that allows you to manipulate X pixmaps, reading them
to and from files, etc. A number of programs such as fvwm use this 
library. --mdw]

This is the latest xpm (version 3.4) DLL version 4.0 image/source release
for linux.

WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING

 This library is NOT backward compatable with version libXpm.so.3.x.
 Therefore you should NOT delete the previous DLL until you are 100%
 sure none of your binaries use it.

WARNING * WARNING * WARNING * WARNING * WARNING * WARNING * WARNING

It may be found at
	Site:	sunsite.unc.edu
	Dir:	/pub/Linux/libs (or /pub/Linux/Incoming temporarily)
	File:	libXpm-3.4.tar.gz
	
P.s. I hasten to add that binary compatability was broken by the author,
Arnaud Le Hors, in order to retain compatability with MOTIF who use an
older version of the pixmap library (version 3.2). I include the author's
note below. In theory it was possible to retain binary compatability for
Linux by having function aliases, but I wanted to stick with the author's
revision level numbering and it also gave me a chance to clean up the DLL.

Mitch
m.dsouza@mrc-apu.cam.ac.uk

-------------------------------------------------------------------------
/* Copyright 1989-94 GROUPE BULL -- See license conditions in file COPYRIGHT */
/**************************************************************************\
* 									   *
*  			HISTORY of user-visible changes			   *
* 									   *
\**************************************************************************/

3.4	(94/03/14)

    IMPORTANT NOTE:
	This version is not compatible with 3.3. Fortunately most people should
	only need to recompile.
	I apology for this but CDE/Motif have put heavy pressure to go that
	way. The point is that I designed and released Xpm 3.3 in order to let
	OSF include a clean version of Xpm in Motif 2.0. This new version was
	not fully compatible with 3.2 but I thought it didn't matter since this
	was going to be the first version used within Motif. Unfortunately CDE
	was already using xpm-3.2 internally and requires both source and
	binary backward compatibility. By the way I must say they didn't drop
	us a single line to let us know they were using it and thus were
	expecting stability. All this could have been avoided...

	However, since I had to go for a not compatible version I took this as
	an opportunity to modify the lower level API, which was new in 3.3 and
	which was somewhat clumsy, in order to provide yet a better API.

	The library has been modified to have both source and binary backward
	compatibility with xpm-3.2. This implies it is not either source or
	binary compatible with 3.3. The fields related to the 3.2 XpmInfos
	mechanism have been put back into the XpmAttributes structure. The new
	3.3 XpmInfos struct has been renamed as XpmInfo to avoid conflict with
	the old 3.2 flag which is back too. All the semantic related to the
	XpmAttributes infos fields is back as well.

	So this new version provides a high level API which is fully
	compatible with 3.2 and still provides the 3.3 lower level API
	(XpmImage) with the XpmInfos struct renamed as XpmInfo. This leads to
	some redundancy but this was the best I could do to satisfy both
	CDE/Motif people who needed the backward compatibility and myself (who
	always tries to provide you with the best ;-).

	Tests have been successfully performed with pixmap-2.1, pixmap-2.4, and
	sxpm.

    ENHANCEMENTS:
	- The colorTable member of the XpmAttributes structure is now an
	  (XpmColor*) in order to be compatible with an XpmImage colorTable.
	  However in order to be backward compatible this field is cast to
	  (XpmColor **), which is equivalent to (char ***), when it is used
	  with the old flags XpmInfos and XpmReturnInfos. To handle the new
	  type the new flags XpmColorTable and XpmReturnColorTable have been
	  defined.
	- The XpmInfo struct has been extended to avoid having to deal with an
	  XpmAttributes at the lower level. The idea is that all the data
	  stored in an Xpm file can be retreive through both an XpmImage and
	  an XpmInfo struct. See the documentation for details.
	- XpmUndefPixel is defined and exported by xpm.h in order to let
	  clients providing their own colorTable when writting out an Xpm file.
	  See the documentation for details.
	- in sxpm/sxpm.c, set attribute XtNinput to True on toplevel widget.
	  Windows that don't "take" input, never get focus, as mandated by
	  the ICCM.
        	patch from Henrique Martins <martins@hplhasm.hpl.hp.com>
	- lib/Imakefile modified to build the shared library under IRIX 5.
                patch from simon@lia.di.epfl.ch (Simon Leinen)

    NEW FEATURES:
	- a new funtion and a new define should help client figuring out with
	  which Xpm library version they are working. These are
	  XpmIncludeVersion and XpmLibraryVersion().

