From 4cdffedfae096a34769f29b455ecc3a78f13fa24 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 8 Mar 2006 03:25:26 +0000 Subject: [PATCH] [MAC_OS] (XPutPixel): Set alpha channel bits if pixmap depth is 32. [MAC_OS] (XGetPixel): Strip off alpha channel bits if pixmap depth is 32. --- src/ChangeLog | 7 +++++++ src/image.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 1f27fc7a6f9..0bcf392c58c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2006-03-08 YAMAMOTO Mitsuharu + + * image.c [MAC_OS] (XPutPixel): Set alpha channel bits if pixmap + depth is 32. + [MAC_OS] (XGetPixel): Strip off alpha channel bits if pixmap + depth is 32. + 2006-03-06 Chong Yidong * xdisp.c (handle_invisible_prop): Don't update it->position with diff --git a/src/image.c b/src/image.c index 879bbf745a3..cbdff81eba7 100644 --- a/src/image.c +++ b/src/image.c @@ -194,7 +194,7 @@ XPutPixel (ximage, x, y, pixel) char *base_addr = GetPixBaseAddr (pixmap); short row_bytes = GetPixRowBytes (pixmap); - ((unsigned long *) (base_addr + y * row_bytes))[x] = pixel; + ((unsigned long *) (base_addr + y * row_bytes))[x] = 0xff000000 | pixel; } else if (depth == 1) { @@ -238,7 +238,7 @@ XGetPixel (ximage, x, y) char *base_addr = GetPixBaseAddr (pixmap); short row_bytes = GetPixRowBytes (pixmap); - return ((unsigned long *) (base_addr + y * row_bytes))[x]; + return ((unsigned long *) (base_addr + y * row_bytes))[x] & 0x00ffffff; } else if (depth == 1) { -- 2.39.2