Table of Contents

Name

XCreatePixmap, XFreePixmap - create or destroy pixmaps

Syntax

Pixmap XCreatePixmap(Display *display, Drawable d,
unsigned int width, unsigned int height, unsigned int depth);
int XFreePixmap(Display *display, Pixmap pixmap);

Arguments

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.

Description

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.

Diagnostics

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.

See Also

XCopyArea(3)
Xlib - C Language X Interface


Table of Contents