--- sourceforge.net/trunk/rdesktop/xwin.c 2004/02/16 20:28:09 609 +++ sourceforge.net/trunk/rdesktop/xwin.c 2004/02/25 18:28:52 617 @@ -169,12 +169,9 @@ split_colour15(uint32 colour) { PixelColour rv; - rv.red = (colour & 0x7c00) >> 10; - rv.red = (rv.red * 0xff) / 0x1f; - rv.green = (colour & 0x03e0) >> 5; - rv.green = (rv.green * 0xff) / 0x1f; - rv.blue = (colour & 0x1f); - rv.blue = (rv.blue * 0xff) / 0x1f; + rv.red = (colour & 0x7c00) >> 7; + rv.green = (colour & 0x03e0) >> 2; + rv.blue = (colour & 0x001f) << 3; return rv; } @@ -182,12 +179,9 @@ split_colour16(uint32 colour) { PixelColour rv; - rv.red = (colour & 0xf800) >> 11; - rv.red = (rv.red * 0xff) / 0x1f; - rv.green = (colour & 0x07e0) >> 5; - rv.green = (rv.green * 0xff) / 0x3f; - rv.blue = (colour & 0x001f); - rv.blue = (rv.blue * 0xff) / 0x1f; + rv.red = (colour & 0xf800) >> 8; + rv.green = (colour & 0x07e0) >> 3; + rv.blue = (colour & 0x001f) << 3; return rv; } @@ -195,9 +189,9 @@ split_colour24(uint32 colour) { PixelColour rv; - rv.blue = (colour & 0xff0000) >> 16; - rv.green = (colour & 0xff00) >> 8; - rv.red = (colour & 0xff); + rv.blue = (colour & 0xff0000) >> 16; + rv.green = (colour & 0x00ff00) >> 8; + rv.red = (colour & 0x0000ff); return rv; }