diff options
author | Bart Massey <bart@cs.pdx.edu> | 2007-12-08 16:45:26 -0800 |
---|---|---|
committer | Arnaud Fontaine <arnau@debian.org> | 2010-11-14 20:03:27 +0900 |
commit | 9486c56b780b8b62641f552ada5059f7208d7320 (patch) | |
tree | d827cf482c0246ca00cdebe88ced9f8ea4f9e167 | |
parent | c699affc7de4946c1f9cb8856b83936e53d72bb6 (diff) |
added create_image_from_bitmap_data(), adapted create_pixmap_from_bitmap_data() to use
-rw-r--r-- | image/xcb_image.c | 24 | ||||
-rw-r--r-- | image/xcb_image.h | 17 |
2 files changed, 33 insertions, 8 deletions
diff --git a/image/xcb_image.c b/image/xcb_image.c index 6f532a2..f8e1bde 100644 --- a/image/xcb_image.c +++ b/image/xcb_image.c @@ -745,6 +745,19 @@ xcb_image_get_pixel (xcb_image_t *image, } +xcb_image_t * +xcb_image_create_from_bitmap_data (uint8_t * data, + uint32_t width, + uint32_t height) +{ + return xcb_image_create(width, height, XCB_IMAGE_FORMAT_XY_PIXMAP, + 8, 1, 1, 8, + XCB_IMAGE_ORDER_LSB_FIRST, + XCB_IMAGE_ORDER_LSB_FIRST, + 0, 0, data); +} + + /* * (Adapted from libX11.) * @@ -775,20 +788,15 @@ xcb_create_pixmap_from_bitmap_data (xcb_connection_t * display, xcb_pixmap_t pix; xcb_image_t * image; xcb_image_t * final_image; - xcb_image_format_t format = XCB_IMAGE_FORMAT_XY_PIXMAP; xcb_gcontext_t gc; uint32_t mask = 0; xcb_params_gc_t gcv; - if (depth > 1) - format = XCB_IMAGE_FORMAT_XY_BITMAP; - image = xcb_image_create(width, height, format, - 8, 1, 1, 8, - XCB_IMAGE_ORDER_LSB_FIRST, - XCB_IMAGE_ORDER_LSB_FIRST, - 0, 0, data); + image = xcb_image_create_from_bitmap_data(data, width, height); if (!image) return 0; + if (depth > 1) + image->format = XCB_IMAGE_FORMAT_XY_BITMAP; final_image = xcb_image_native(display, image, 1); if (!final_image) { xcb_image_destroy(image); diff --git a/image/xcb_image.h b/image/xcb_image.h index 595cd8e..16ac154 100644 --- a/image/xcb_image.h +++ b/image/xcb_image.h @@ -574,6 +574,23 @@ int xcb_image_shm_get (xcb_connection_t * conn, /** + * Create an image from user-supplied bitmap data. + * @param data Image data in packed bitmap format. + * @param width Width in bits of image data. + * @param height Height in bits of image data. + * @return The image constructed from the image data, or 0 on error. + * + * This function creates an image from the user-supplied + * bitmap @p data. The bitmap data is assumed to be in + * xbm format (i.e., 8-bit scanline unit, LSB-first, 8-bit pad). + * @ingroup xcb__image_t + */ +xcb_image_t * +xcb_image_create_from_bitmap_data (uint8_t * data, + uint32_t width, + uint32_t height); + +/** * Create a pixmap from user-supplied bitmap data. * @param display The connection to the X server. * @param d The parent drawable for the pixmap. |