XpmCreatePixmap(3) libXpm functions XpmCreatePixmap(3)

# [NAME](#NAME)

XpmCreatePixmap - create a pixmap

# [SYNOPSIS](#SYNOPSIS)

```
int XpmCreatePixmapFromData(Display *display, Drawable d,
char **data, Pixmap *pixmap_return, Pixmap *shapemask_return,
XpmAttributes *attributes);
```

```
int XpmCreatePixmapFromBuffer(Display *display, Drawable d,
char *buffer, Pixmap *pixmap_return, Pixmap *shapemask_return,
XpmAttributes *attributes);
```

```
int XpmCreatePixmapFromXpmImage(Display *display, Drawable d,
XpmImage *image, Pixmap *pixmap_return, Pixmap *shapemask_return,
XpmAttributes *attributes);
```

# [ARGUMENTS](#ARGUMENTS)

[*display*](#display)

Specifies the connection to the X server.

[*d*](#d)

Specifies which screen the pixmap is created on.

[*buffer*](#buffer)

Specifies the location of the buffer.

[*pixmap\_return*](#pixmap_return)

Returns the pixmap which is created if the color None.

[*shapemask\_return*](#shapemask_return)

Returns the shape mask pixmap which is created if the color None is used.

[*attributes*](#attributes)

Specifies the location of a structure to get and store information.

[*image*](#image)

Specifies the XpmImage.

# [DESCRIPTION](#DESCRIPTION)

## [XpmCreatePixmapFromData](#XpmCreatePixmapFromData)

To create a Pixmap from an XPM data, use **XpmCreatePixmapFromData**(). The **XpmCreatePixmapFromData**() function creates X images using [**XpmCreateImageFromData**(3)](/man/os/libxpm/XpmCreateImageFromData.3) and thus returns the same errors. In addition on success it then creates the related pixmaps, using [**XPutImage**(3)](/man/os/libxpm/XPutImage.3), which are returned to *pixmap\_return* and *shapemask\_return* if not NULL, and finally destroys the created images using [**XDestroyImage**(3)](/man/os/libxpm/XDestroyImage.3). Do not forget to free the returned pixmaps, the colors, and possibly the data returned into the XpmAttributes structure when done.

## [XpmCreatePixmapFromBuffer](#XpmCreatePixmapFromBuffer)

To create a Pixmap from an XPM buffer, use **XpmCreatePixmapFromBuffer**(). The **XpmCreatePixmapFromBuffer**() function works the same way as [**XpmReadFileToPixmap**(3)](/man/os/libxpm/XpmReadFileToPixmap.3), it just calls [**XpmCreateImageFromBuffer**(3)](/man/os/libxpm/XpmCreateImageFromBuffer.3) instead of [**XpmReadFileToImage**(3)](/man/os/libxpm/XpmReadFileToImage.3).

## [XpmCreatePixmapFromXpmImage](#XpmCreatePixmapFromXpmImage)

**XpmCreatePixmapFromXpmImage**() creates X images calling [**XpmCreateImageFromXpmImage**(3)](/man/os/libxpm/XpmCreateImageFromXpmImage.3) with the given XpmImage and XpmAttributes, then it creates the related pixmaps which are returned to *pixmap\_return* and *shapemask\_return* using [**XPutImage**(3)](/man/os/libxpm/XPutImage.3). Finally it destroys the X images with [**XDestroyImage**(3)](/man/os/libxpm/XDestroyImage.3). When finished the caller must free the pixmaps using [**XFreePixmap**(3)](/man/os/libxpm/XFreePixmap.3), the colors using [**XFreeColors**(3)](/man/os/libxpm/XFreeColors.3) or the application equivalent function when the standard Xlib functions are not used, and possibly the data returned into the XpmAttributes using [**XpmFreeAttributes**(3)](/man/os/libxpm/XpmFreeAttributes.3).

# [SEE ALSO](#SEE_ALSO)

[**XpmCreateImageFromData**(3)](/man/os/libxpm/XpmCreateImageFromData.3), [**XpmCreateImageFromXpmImage**(3)](/man/os/libxpm/XpmCreateImageFromXpmImage.3), [**XpmFreeAttributes**(3)](/man/os/libxpm/XpmFreeAttributes.3), [**XpmReadFileToPixmap**(3)](/man/os/libxpm/XpmReadFileToPixmap.3)

libXpm 3.5.20 X Version 11

---

Document: XpmCreatePixmapFromBuffer(3) from libxpm 3.5.20-r0 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libxpm.git
