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 image which is created.
shapeimage
Specifies the shape mask image which is created if any.
xpmimage
Specifies the location of an XpmImage structure.
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, and
returns XpmSuccess on success. 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 validXPM 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.
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.
SEE ALSO
XpmCreateXpmImageFromBuffer(3), XpmCreateXpmImageFromData(3),
XpmCreateXpmImageFromImage(3), XpmCreateXpmImageFromPixmap(3)
X Version 11 libXpm 3.5.14 XpmCreateXpmImage(3)
libXpm 3.5.14 - Generated Tue Nov 22 18:46:45 CST 2022
