|
|
int XReadBitmapFile(display, d, filename, width_return, height_return, bitmap_return, x_hot_return, y_hot_return) Display *display; Drawable d; char *filename; unsigned int *width_return, *height_return; Pixmap *bitmap_return; int *x_hot_return, *y_hot_return;int XWriteBitmapFile(display, filename, bitmap, width, height, x_hot, y_hot) Display *display; char *filename; Pixmap bitmap; unsigned int width, height; int x_hot, y_hot;
Pixmap XCreatePixmapFromBitmapData(display, d, data, width, height, fg, bg, depth) Display *display; Drawable d; char *data; unsigned int width, height; unsigned long fg, bg; unsigned int depth;
Pixmap XCreateBitmapFromData(display, d, data, width, height) Display *display; Drawable d; char *data; unsigned int width, height;
XReadBitmapFile returns the bitmap's height and width, as read from the file, to width_return and height_return. It then creates a pixmap of the appropriate size, reads the bitmap data from the file into the pixmap, and assigns the pixmap to the caller's variable bitmap. The caller must free the bitmap using XFreePixmap when finished. If name_x_hot and name_y_hot exist, XReadBitmapFile returns them to x_hot_return and y_hot_return; otherwise, it returns -1,-1.
XReadBitmapFile can generate ``BadAlloc'' and ``BadDrawable'' errors.
The XWriteBitmapFile function writes a bitmap out to a file in the X version 11 format. The file is written in the encoding of the current locale. If the file cannot be opened for writing, it returns BitmapOpenFailed. If insufficient memory is allocated, XWriteBitmapFile returns BitmapNoMemory; otherwise, on no error, it returns BitmapSuccess. If x_hot and y_hot are not -1, -1, XWriteBitmapFile writes them out as the hotspot coordinates for the bitmap.
XWriteBitmapFile can generate ``BadDrawable'' and ``BadMatch'' errors.
The XCreatePixmapFromBitmapData function creates a pixmap of the given depth and then does a bitmap-format XPutImage of the data into it. The depth must be supported by the screen of the specified drawable, or a ``BadMatch'' error results.
XCreatePixmapFromBitmapData can generate ``BadAlloc'' and ``BadMatch'' errors.
The XCreateBitmapFromData function allows you to include in your C program (using #include) a bitmap file that was written out by XWriteBitmapFile (X version 11 format only) without reading in the bitmap file. The following example creates a gray bitmap:
#include "gray.bitmap"If insufficient working storage was allocated, XCreateBitmapFromData returns None. It is your responsibility to free the bitmap using XFreePixmap when finished.Pixmap bitmap; bitmap = XCreateBitmapFromData(display, window, gray_bits, gray_width, gray_height);
XCreateBitmapFromData can generate a ``BadAlloc'' error.