XCreatePixmap(), XFreePixmap() - create or destroy pixmaps
Pixmap XCreatePixmap (Display *display, Drawable d,
unsigned int width, height, unsigned int depth)
XFreePixmap (Display *display, Pixmap pixmap)
The XCreatePixmap(3) function creates a pixmap of the width, height, and depth you specified and returns a pixmap ID that identifies it. It is valid to pass an InputOnly window to the drawable argument. The width and height arguments must be nonzero, or a BadValue error results. The depth argument must be one of the depths supported by the screen of the specified drawable, or a BadValue error results.
The server uses the specified drawable to determine on which screen to create the pixmap. The pixmap can be used only on this screen and only with other drawables of the same depth (see XCopyPlane for an exception to this rule). The initial contents of the pixmap are undefined.
XCreatePixmap(3) can generate BadAlloc, BadDrawable, and BadValue errors.
The XFreePixmap(3) function first deletes the association between the pixmap ID and the pixmap. Then, the X server frees the pixmap storage when there are no references to it. The pixmap should never be referenced again.
XFreePixmap(3) can generate a BadPixmap error.
Xlib