diff options
author | Miles Bader <miles@gnu.org> | 2007-12-06 00:46:18 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2007-12-06 00:46:18 +0000 |
commit | e5e76c04310d287a56675876dd83e1089faba215 (patch) | |
tree | a4b4f1cc134e4fd5af42671ec6689e07afe48ff2 /src/image.c | |
parent | b890d447fb56bfe9f2e4742eda4b3ab4b5f4b32a (diff) | |
parent | a2afc99dbad3fa9a3170ad72c578451c3aea58a4 (diff) | |
download | emacs-e5e76c04310d287a56675876dd83e1089faba215.tar.gz emacs-e5e76c04310d287a56675876dd83e1089faba215.tar.bz2 emacs-e5e76c04310d287a56675876dd83e1089faba215.zip |
Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-943
Diffstat (limited to 'src/image.c')
-rw-r--r-- | src/image.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/image.c b/src/image.c index 91be3f4b57e..a9b1e9835ed 100644 --- a/src/image.c +++ b/src/image.c @@ -3128,6 +3128,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); @@ -3523,6 +3525,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, |