XpmCreateBuffer - Man Page

create an XPM Buffer


int XpmCreateBufferFromImage(Display *display , char **buffer_return,
XImage *image, XImage *shapeimage, XpmAttributes *attributes);

int XpmCreateBufferFromPixmap(Display *display, char **buffer_return,
Pixmap pixmap, Pixmap shapemask, XpmAttributes *attributes);

int XpmCreateBufferFromXpmImage(char **buffer_return, XpmImage *image,
XpmInfo *info);



Specifies the connection to the X server.


Returns the buffer which is created.


Specifies the image.


Specifies the shape mask image.


Specifies the location of a structure containing information (or NULL).


Specifies the location of a structure to get possible information (or NULL).



XpmCreateBufferFromPixmap() creates an XPM buffer from a Pixmap. The XpmCreateBufferFromPixmap() function works as XpmWriteFileFromPixmap(3), it just calls XpmCreateBufferFromImage() instead of XpmWriteFileFromImage(3). Once again, the caller should free the buffer using XpmFree(3) when finished.

As a convenience, the XpmReadFileToBuffer(3) and XpmWriteFileFromBuffer(3) functions are provided to copy a file to a buffer and to write a file from a buffer. Thus for instance one may decide to use XpmCreateBufferFromPixmap(), XpmWriteFileFromBuffer(3), and XpmFree(3) instead of XpmWriteFileFromPixmap(3). On some systems this may lead to a performance improvement, since the processing will be performed in memory, but it uses more memory.


The XpmCreateBufferFromImage() function works as XpmWriteFileFromImage(3), it just writes to a malloc’ed buffer instead of to a file. The caller should free the buffer using XpmFree(3) when finished.


To create an XPM buffer from an XpmImage, use XpmCreateBufferFromXpmImage(). The XpmCreateBufferFromXpmImage() function writes out the given image to a single block malloc’ed buffer in XPM format. If insufficient working storage is allocated, it returns XpmNoMemory, and returns XpmSuccess on success. If the passed XpmInfo structure pointer is not NULL, XpmCreateBufferFromXpmImage() looks for the following attributes: XpmComments, XpmExtensions, and XpmHotspot, and writes the related information out as well. The caller should free the buffer using XpmFree(3) when finished.

See Also

XpmFree(3), XpmWriteFileFromBuffer(3), XpmWriteFileFromImage(3), XpmWriteFileFromPixmap(3)

Referenced By

XpmMisc(3), XpmRead(3).

The man pages XpmCreateBufferFromImage(3), XpmCreateBufferFromPixmap(3) and XpmCreateBufferFromXpmImage(3) are aliases of XpmCreateBuffer(3).

libXpm 3.5.15 X Version 11 libXpm functions