diff options
author | das <das@noemail.net> | 2007-06-23 00:25:37 (GMT) |
---|---|---|
committer | das <das@noemail.net> | 2007-06-23 00:25:37 (GMT) |
commit | 3f496cdf71aa6f07f7fb2783713353d43b8c5e81 (patch) | |
tree | 148eb739926f285c24f4ff371245704b03fb7eed /xlib/ximage.c | |
parent | d00e4e6e5dead896699a8d15c206211bd60b277c (diff) | |
download | tk-3f496cdf71aa6f07f7fb2783713353d43b8c5e81.zip tk-3f496cdf71aa6f07f7fb2783713353d43b8c5e81.tar.gz tk-3f496cdf71aa6f07f7fb2783713353d43b8c5e81.tar.bz2 |
* generic/tkImgPhoto.c (ImgPhotoConfigureInstance, DisposeInstance):
use XDestroyImage instead of XFree to destroy XImage; replace runtime
endianness determination by compile-time check for WORDS_BIGENDIAN.
* xlib/ximage.c (XCreateBitmapFromData): use XCreateImage and
XDestroyImage instead of creating XImage structure manually.
FossilOrigin-Name: fa5f3efc81ea4998f4b2da3e72687a9f4c456733
Diffstat (limited to 'xlib/ximage.c')
-rw-r--r-- | xlib/ximage.c | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/xlib/ximage.c b/xlib/ximage.c index 6f0c7ee..e6e4866 100644 --- a/xlib/ximage.c +++ b/xlib/ximage.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: ximage.c,v 1.6 2007/01/02 23:39:40 dkf Exp $ + * RCS: @(#) $Id: ximage.c,v 1.7 2007/06/23 00:25:38 das Exp $ */ #include "tkInt.h" @@ -42,7 +42,7 @@ XCreateBitmapFromData( unsigned int width, unsigned int height) { - XImage ximage; + XImage *ximage; GC gc; Pixmap pix; @@ -51,23 +51,11 @@ XCreateBitmapFromData( if (gc == NULL) { return None; } - ximage.height = height; - ximage.width = width; - ximage.depth = 1; - ximage.bits_per_pixel = 1; - ximage.xoffset = 0; - ximage.format = XYBitmap; - ximage.data = (char *)data; - ximage.byte_order = LSBFirst; - ximage.bitmap_unit = 8; - ximage.bitmap_bit_order = LSBFirst; - ximage.bitmap_pad = 8; - ximage.bytes_per_line = (width+7)/8; -#ifdef MAC_OSX_TK - ximage.obdata = NULL; -#endif - - TkPutImage(NULL, 0, display, pix, gc, &ximage, 0, 0, 0, 0, width, height); + ximage = XCreateImage(display, NULL, 1, XYBitmap, 0, (char*) data, width, + height, 8, (width + 7) / 8); + TkPutImage(NULL, 0, display, pix, gc, ximage, 0, 0, 0, 0, width, height); + ximage->data = NULL; + XDestroyImage(ximage); XFreeGC(display, gc); return pix; } |