Menu

#1047 Windows 16-bit color masks are wrong

obsolete: 8.3.3
open
5
2001-08-20
2001-08-20
Lloyd Lim
No

tkWinX.c specifies a value of FC for the green_mask in
16 bit mode. While 5-6-5 is a supported Windows DIB
format, a quick glance at tkWinImage.c (line 140) shows
that Tk uses the 5-5-5 format. Therefore, the value
should be F8 for R, G, and B.

Here is a patch to correct it:

--- tkWinX.c.old Mon Jul 9 12:46:10 2001
+++ tkWinX.c Mon Aug 20 14:35:22 2001
@@ -383,7 +383,7 @@
screen->root_visual->class = TrueColor;
screen->root_visual->map_entries = 64;
screen->root_visual->red_mask = 0xf8;
- screen->root_visual->green_mask = 0xfc00;
+ screen->root_visual->green_mask = 0xf800;
screen->root_visual->blue_mask = 0xf80000;
} else if (screen->root_depth >= 24) {
screen->root_visual->class = TrueColor;

Discussion

MongoDB Logo MongoDB