XCreatePixmap, XFreePixmap - create or destroy pixmaps
Pixmap XCreatePixmap(Display *display, Drawable
    d, unsigned int width, unsigned int height, unsigned
    int depth);
int XFreePixmap(Display *display, Pixmap
  pixmap);
  - d
- Specifies which screen the pixmap is created on.
- depth
- Specifies the depth of the pixmap.
- display
- Specifies the connection to the X server.
- pixmap
- Specifies the pixmap.
- width
- 
    
 
- height
- Specify the width and height, which define the dimensions of the
    pixmap.
The XCreatePixmap 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 can generate BadAlloc,
    BadDrawable, and BadValue errors.
The XFreePixmap 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 can generate a BadPixmap error.
  - BadAlloc
- The server failed to allocate the requested resource or server
    memory.
- BadDrawable
- A value for a Drawable argument does not name a defined Window or
    Pixmap.
- BadPixmap
- A value for a Pixmap argument does not name a defined Pixmap.
- BadValue
- Some numeric value falls outside the range of values accepted by the
      request. Unless a specific range is specified for an argument, the full
      range defined by the argument's type is accepted. Any argument defined as
      a set of alternatives can generate this error.
XCopyArea(3)
Xlib - C Language X Interface