1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-05 20:43:08 +00:00

(xbm_load) [WINDOWSNT]: Shuffle the bits of directly specified XBMs.

This commit is contained in:
Jason Rumney 2007-12-02 16:18:47 +00:00
parent 1a39318ad3
commit 44b1dc2e97
2 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2007-12-02 Jason Rumney <jasonr@gnu.org>
* image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
specified XBMs.
2007-12-01 Richard Stallman <rms@gnu.org>
* xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.

View File

@ -3120,6 +3120,8 @@ convert_mono_to_color_image (f, img, foreground, background)
release_frame_dc (f, hdc);
old_prev = SelectObject (old_img_dc, img->pixmap);
new_prev = SelectObject (new_img_dc, new_pixmap);
/* Windows convention for mono bitmaps is black = background,
white = foreground. */
SetTextColor (new_img_dc, background);
SetBkColor (new_img_dc, foreground);
@ -3515,6 +3517,19 @@ xbm_load (f, img)
else
bits = XBOOL_VECTOR (data)->data;
#ifdef WINDOWSNT
{
char *invertedBits;
int nbytes, i;
/* Windows mono bitmaps are reversed compared with X. */
invertedBits = bits;
nbytes = (img->width + BITS_PER_CHAR - 1) / BITS_PER_CHAR
* img->height;
bits = (char *) alloca(nbytes);
for (i = 0; i < nbytes; i++)
bits[i] = XBM_BIT_SHUFFLE (invertedBits[i]);
}
#endif
/* Create the pixmap. */
Create_Pixmap_From_Bitmap_Data (f, img, bits,