Howdy Lev and Colin... ---------- Original Message ------------- Subject: Re: Icons [in Server Test 87] I thought we were OK at 32bpp (1280x1024) until I looked again! Device dependence maybe, I'm got an old ATI Rage Pro card (don't ask why?). It's the black and white icon's images that's are going wrong not the masks. The black (0) is rendered transparent. ----------------------------------- Lev's got an ATI too, so that seems to be the common thread. Luckily my laptop has a Rage Mobility so I might be able to reproduce this and see what's shaking with it. My Rage Pro is sitting in a box somewhere, ATI had the worst driver support I've ever seen back in the W95 days.
Also, the mask, not the bitmap that's not working. The mask is what gives you black, the icon gives you the white: the way Windoze does an icon is first take MASK & BACKGROUND (giving black or the background) and then takes the (MASK&BACK) | ICON (giving white/color or the masked off black or the unmasked background). ------------------------------------ I've just started a trace on this one:- On xclock I get 6 calls on winScaleXBitmapToWindows effBPP=32 effXBPP=1 effXDepth=1 effBPP=1 effXBPP=1 effXDepth=1 effBPP=32 effXBPP=1 effXDepth=1 repeat effBPP=32 effXBPP=1 effXDepth=1 effBPP=1 effXBPP=1 effXDepth=1 effBPP=32 effXBPP=1 effXDepth=1 ---------------------------- The effBPP=1, effXBPP=1 followed by the effBPP=32, effXBPP=1 are the mask generation stages. I make a mask and then need to set all non-masked areas to 0 (since we'll be doing an OR and we don't want unmasked areas to show at all)... ------------- The 1st and 4th are the image passes. If I nobble these passes (effXBPP=1 and effBPP=32) (leaving the 3rd and 6th mask pass unchanged) and bodge in say 127 to case32 outPtr's (4 times the same to the break) instead of the original 4x0 fall through; I get white and 'grey' (i.e. the outline and hands are no longer transparent!). I'm just a born hacker and can't resist mucking about in someone else's algoryrhymes! Some endian problem perhaps? ----------------------- That gray's probably because the mask isn't set to anything, so the OR combines the background and the image giving a kinda funky alpha type blend. There's definitely not an endianness problem, all X86 cards expect bits in the same place, thankfully! What is really funky is you say that xload does this too. Xload doesn't have a mask so I generate a solid black one (meaning you should get a solid white background on which to draw the black bars and graph in the icon)... -- -Earle F. Philhower, III [EMAIL PROTECTED] http://www.ziplabel.com