XpmCreateXpmImage(3) libXpm functions XpmCreateXpmImage(3)
NAME
XpmCreateXpmImage - create an Xpm image
SYNOPSIS
int XpmCreateXpmImageFromData(char **data, XpmImage *image, XpmInfo *info); int XpmCreateXpmImageFromBuffer(char *buffer, XpmImage *image, XpmInfo *info); int XpmCreateXpmImageFromImage(Display *display, XImage *image, XImage *shapeimage, XpmImage *xpmimage, XpmAttributes *attributes); int XpmCreateXpmImageFromPixmap(Display *display, Pixmap *pixmap, Pixmap *shapemask, XpmImage *xpmimage, XpmAttributes *attributes);ARGUMENTS
data Specifies the location of the data.
image Specifies the image structure location.
info Specifies the location of an XpmInfo structure to get and
store information (or NULL).
display Specifies the connection to the X server.
image Specifies the X image used as the source.
shapeimage Specifies the shape mask image, if any.
xpmimage Specifies the XPM image which is created.
attributes Specifies the location of a structure containing information
(or NULL).
DESCRIPTION
XpmCreateXpmImageFromBuffer
To create an XpmImage from an XPM buffer, use
XpmCreateXpmImageFromBuffer(). The
XpmCreateXpmImageFromBuffer()
function reads the given buffer to fill in the given XpmImage
structure. If the buffer does not contain valid XPM data, it returns
XpmFileInvalid. If insufficient working storage is allocated, it
returns
XpmNoMemory. On success it returns
XpmSuccess. If the
passed XpmInfo structure pointer is not NULL,
XpmCreateXpmImageFromBuffer() looks for the following attributes:
XpmReturnComments and XpmReturnExtensions, and sets possibly the
XpmHotspot attribute when returning. As specified in the table (page
28), if the data related to the attributes XpmReturnComments and
XpmReturnExtensions cannot be returned as requested because of
insufficient memory storage,
XpmCreateXpmImageFromBuffer() will
change the valuemask to mention this and will try to continue. So
the caller should check on this before accessing requested data.
Note: The valuemask of the passed XpmInfo structure must be set to
some valid value, at least zero, otherwise unpredictable errors can
occur.
XpmCreateXpmImageFromData
To create an XpmImage from an XPM data, use
XpmCreateXpmImageFromData().
XpmCreateXpmImageFromData() fills in
the given XpmImage structure from the given data. If the data does
not contain valid XPM data, it returns
XpmFileInvalid. If
insufficient working storage is allocated, it returns
XpmNoMemory.
On success it returns
XpmSuccess. If the passed XpmInfo structure
pointer is not NULL,
XpmCreateXpmImageFromData() looks for the
following attributes: XpmReturnExtensions, and sets possibly the
XpmHotspot attribute when returning. As specified in the table (page
28), if the data related to the attribute XpmReturnExtensions cannot
be returned as requested because of insufficient memory storage,
XpmCreateXpmImageFromData() will change the valuemask to mention this
and will try to continue. So the caller should check on this before
accessing requested data.
Note: The valuemask of the passed XpmInfo structure must be set to
some valid value, at least zero, otherwise unpredictable errors can
occur.
XpmCreateXpmImageFromImage
To create an XpmImage from an XImage, use
XpmCreateXpmImageFromImage(). From the given X images and
XpmAttributes if not NULL,
XpmCreateXpmImageFromImage() creates an
XpmImage following the same mechanism as
XpmWriteFileFromImage(3).
XpmCreateXpmImageFromPixmap
To create an XpmImage from a Pixmap, use
XpmCreateXpmImageFromPixmap(). From the given pixmaps and
XpmAttributes if not NULL,
XpmCreateXpmImageFromPixmap() gets the
related XImages by calling XGetImage, then it gives them to
XpmCreateXpmImageFromImage() to create an XpmImage which is returned
to
xpmimage. Finally it destroys the created X images using
XDestroyImage(3).
SEE ALSO
XpmFreeXpmImage(3),
XpmReadFileToBuffer(3),
XpmReadFileToData(3),
XpmReadFileToImage(3),
XpmReadFileToPixmap(3),
XpmWriteFileFromImage(3)X Version 11 libXpm 3.5.17 XpmCreateXpmImage(3)